~ubuntu-branches/ubuntu/intrepid/gcc-4.3/intrepid-updates

« back to all changes in this revision

Viewing changes to debian/patches/svn-updates.dpatch

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2008-10-09 12:47:18 UTC
  • Revision ID: james.westby@ubuntu.com-20081009124718-cb60x5bezicje4h2
Tags: 4.3.2-1ubuntu10
* Update to SVN 20081009 from the gcc-4_3-branch.
  - Fix PR c/35437 (ice-on-invalid). LP: #251744.
  - Fix PR middle-end/37731 (wrong-code). 
  - Fix PR target/37603 (target, hppa).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#! /bin/sh -e
2
2
 
3
 
# DP: updates from the 4.3 branch upto 20081003.
 
3
# DP: updates from the 4.3 branch upto 20081009.
4
4
 
5
5
last_updated()
6
6
{
7
7
        cat > ${dir}LAST_UPDATED <<EOF
8
 
Fri Oct  3 15:33:50 CEST 2008
9
 
Fri Oct  3 13:33:50 UTC 2008 (revision 140854)
 
8
Thu Oct  9 12:43:53 CEST 2008
 
9
Thu Oct  9 10:43:53 UTC 2008 (revision 141004)
10
10
EOF
11
11
}
12
12
 
39
39
 
40
40
Index: gcc/regrename.c
41
41
===================================================================
42
 
--- gcc/regrename.c     (.../tags/gcc_4_3_2_release)    (revision 140854)
43
 
+++ gcc/regrename.c     (.../branches/gcc-4_3-branch)   (revision 140854)
 
42
--- gcc/regrename.c     (.../tags/gcc_4_3_2_release)    (revision 141004)
 
43
+++ gcc/regrename.c     (.../branches/gcc-4_3-branch)   (revision 141004)
44
44
@@ -1315,6 +1315,10 @@
45
45
                   enum machine_mode new_mode, unsigned int regno,
46
46
                   unsigned int copy_regno ATTRIBUTE_UNUSED)
54
54
   else if (mode_change_ok (orig_mode, new_mode, regno))
55
55
Index: gcc/tree-complex.c
56
56
===================================================================
57
 
--- gcc/tree-complex.c  (.../tags/gcc_4_3_2_release)    (revision 140854)
58
 
+++ gcc/tree-complex.c  (.../branches/gcc-4_3-branch)   (revision 140854)
 
57
--- gcc/tree-complex.c  (.../tags/gcc_4_3_2_release)    (revision 141004)
 
58
+++ gcc/tree-complex.c  (.../branches/gcc-4_3-branch)   (revision 141004)
59
59
@@ -515,7 +515,8 @@
60
60
   /* If we've nothing assigned, and the value we're given is already stable,
61
61
      then install that as the value for this SSA_NAME.  This preemptively
68
68
       return NULL;
69
69
Index: gcc/DATESTAMP
70
70
===================================================================
71
 
--- gcc/DATESTAMP       (.../tags/gcc_4_3_2_release)    (revision 140854)
72
 
+++ gcc/DATESTAMP       (.../branches/gcc-4_3-branch)   (revision 140854)
 
71
--- gcc/DATESTAMP       (.../tags/gcc_4_3_2_release)    (revision 141004)
 
72
+++ gcc/DATESTAMP       (.../branches/gcc-4_3-branch)   (revision 141004)
73
73
@@ -1 +1 @@
74
74
-20080827
75
 
+20081003
 
75
+20081009
76
76
Index: gcc/tree.c
77
77
===================================================================
78
 
--- gcc/tree.c  (.../tags/gcc_4_3_2_release)    (revision 140854)
79
 
+++ gcc/tree.c  (.../branches/gcc-4_3-branch)   (revision 140854)
 
78
--- gcc/tree.c  (.../tags/gcc_4_3_2_release)    (revision 141004)
 
79
+++ gcc/tree.c  (.../branches/gcc-4_3-branch)   (revision 141004)
80
80
@@ -6296,6 +6296,21 @@
81
81
      for "unknown if constant fits", 0 for "constant known *not* to fit" and 1
82
82
      for "constant known to fit".  */
101
101
     {
102
102
Index: gcc/fold-const.c
103
103
===================================================================
104
 
--- gcc/fold-const.c    (.../tags/gcc_4_3_2_release)    (revision 140854)
105
 
+++ gcc/fold-const.c    (.../branches/gcc-4_3-branch)   (revision 140854)
 
104
--- gcc/fold-const.c    (.../tags/gcc_4_3_2_release)    (revision 141004)
 
105
+++ gcc/fold-const.c    (.../branches/gcc-4_3-branch)   (revision 141004)
106
106
@@ -109,9 +109,12 @@
107
107
 static tree eval_subst (tree, tree, tree, tree, tree);
108
108
 static tree pedantic_omit_one_operand (tree, tree, tree);
591
591
                strlen(ptr) == 0   =>  *ptr == 0
592
592
Index: gcc/tree-chrec.c
593
593
===================================================================
594
 
--- gcc/tree-chrec.c    (.../tags/gcc_4_3_2_release)    (revision 140854)
595
 
+++ gcc/tree-chrec.c    (.../branches/gcc-4_3-branch)   (revision 140854)
 
594
--- gcc/tree-chrec.c    (.../tags/gcc_4_3_2_release)    (revision 141004)
 
595
+++ gcc/tree-chrec.c    (.../branches/gcc-4_3-branch)   (revision 141004)
596
596
@@ -579,8 +579,7 @@
597
597
       /* "{a, +, b} (x)"  ->  "a + b*x".  */
598
598
       x = chrec_convert_rhs (type, x, NULL_TREE);
605
605
   else if (TREE_CODE (chrec) != POLYNOMIAL_CHREC)
606
606
Index: gcc/real.c
607
607
===================================================================
608
 
--- gcc/real.c  (.../tags/gcc_4_3_2_release)    (revision 140854)
609
 
+++ gcc/real.c  (.../branches/gcc-4_3-branch)   (revision 140854)
 
608
--- gcc/real.c  (.../tags/gcc_4_3_2_release)    (revision 141004)
 
609
+++ gcc/real.c  (.../branches/gcc-4_3-branch)   (revision 141004)
610
610
@@ -2341,7 +2341,7 @@
611
611
           required to be the value of the long double rounded to the
612
612
           nearest double.  Rounding means we need a slightly smaller
618
618
 
619
619
Index: gcc/ChangeLog
620
620
===================================================================
621
 
--- gcc/ChangeLog       (.../tags/gcc_4_3_2_release)    (revision 140854)
622
 
+++ gcc/ChangeLog       (.../branches/gcc-4_3-branch)   (revision 140854)
623
 
@@ -1,3 +1,263 @@
 
621
--- gcc/ChangeLog       (.../tags/gcc_4_3_2_release)    (revision 141004)
 
622
+++ gcc/ChangeLog       (.../branches/gcc-4_3-branch)   (revision 141004)
 
623
@@ -1,3 +1,292 @@
 
624
+2008-10-08  Simon Martin  <simartin@users.sourceforge.net>
 
625
+
 
626
+       PR c/35437
 
627
+       * expr.c (count_type_elements): Handle ERROR_MARK.
 
628
+
 
629
+2008-10-07  H.J. Lu  <hongjiu.lu@intel.com>
 
630
+
 
631
+       Backport from mainline:
 
632
+       2008-10-07  H.J. Lu  <hongjiu.lu@intel.com>
 
633
+
 
634
+       PR middle-end/37731
 
635
+       * expmed.c (expand_mult): Properly check DImode constant in
 
636
+       CONST_DOUBLE.
 
637
+
 
638
+2008-10-07  Eric Botcazou  <ebotcazou@adacore.com>
 
639
+
 
640
+       * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) <VIEW_CONVERT_EXPR>:
 
641
+       Return true for non-addressable GIMPLE operands.
 
642
+
 
643
+2008-10-04  Gerald Pfeifer  <gerald@pfeifer.com>
 
644
+
 
645
+       * config/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
 
646
+
 
647
+2000-10-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
648
+
 
649
+       PR target/37603
 
650
+       * pa.c (legitimize_pic_address): Force function labels to memory in
 
651
+       word mode.
 
652
+
624
653
+2008-10-01  Richard Henderson  <rth@redhat.com>
625
654
+
626
655
+       PR tree-opt/35737
887
916
Index: gcc/testsuite/gcc.c-torture/execute/pr37125.c
888
917
===================================================================
889
918
--- gcc/testsuite/gcc.c-torture/execute/pr37125.c       (.../tags/gcc_4_3_2_release)    (revision 0)
890
 
+++ gcc/testsuite/gcc.c-torture/execute/pr37125.c       (.../branches/gcc-4_3-branch)   (revision 140854)
 
919
+++ gcc/testsuite/gcc.c-torture/execute/pr37125.c       (.../branches/gcc-4_3-branch)   (revision 141004)
891
920
@@ -0,0 +1,23 @@
892
921
+extern void abort (void);
893
922
+
915
944
Index: gcc/testsuite/gcc.c-torture/execute/pr36343.c
916
945
===================================================================
917
946
--- gcc/testsuite/gcc.c-torture/execute/pr36343.c       (.../tags/gcc_4_3_2_release)    (revision 0)
918
 
+++ gcc/testsuite/gcc.c-torture/execute/pr36343.c       (.../branches/gcc-4_3-branch)   (revision 140854)
 
947
+++ gcc/testsuite/gcc.c-torture/execute/pr36343.c       (.../branches/gcc-4_3-branch)   (revision 141004)
919
948
@@ -0,0 +1,31 @@
920
949
+extern void abort (void);
921
950
+
951
980
Index: gcc/testsuite/gcc.c-torture/execute/ieee/pr36332.c
952
981
===================================================================
953
982
--- gcc/testsuite/gcc.c-torture/execute/ieee/pr36332.c  (.../tags/gcc_4_3_2_release)    (revision 0)
954
 
+++ gcc/testsuite/gcc.c-torture/execute/ieee/pr36332.c  (.../branches/gcc-4_3-branch)   (revision 140854)
 
983
+++ gcc/testsuite/gcc.c-torture/execute/ieee/pr36332.c  (.../branches/gcc-4_3-branch)   (revision 141004)
955
984
@@ -0,0 +1,15 @@
956
985
+/* PR target/36332 */
957
986
+
971
1000
Index: gcc/testsuite/gcc.c-torture/compile/pr36817.c
972
1001
===================================================================
973
1002
--- gcc/testsuite/gcc.c-torture/compile/pr36817.c       (.../tags/gcc_4_3_2_release)    (revision 0)
974
 
+++ gcc/testsuite/gcc.c-torture/compile/pr36817.c       (.../branches/gcc-4_3-branch)   (revision 140854)
 
1003
+++ gcc/testsuite/gcc.c-torture/compile/pr36817.c       (.../branches/gcc-4_3-branch)   (revision 141004)
975
1004
@@ -0,0 +1,10 @@
976
1005
+void xxx()
977
1006
+{
986
1015
Index: gcc/testsuite/gcc.c-torture/compile/complex-6.c
987
1016
===================================================================
988
1017
--- gcc/testsuite/gcc.c-torture/compile/complex-6.c     (.../tags/gcc_4_3_2_release)    (revision 0)
989
 
+++ gcc/testsuite/gcc.c-torture/compile/complex-6.c     (.../branches/gcc-4_3-branch)   (revision 140854)
 
1018
+++ gcc/testsuite/gcc.c-torture/compile/complex-6.c     (.../branches/gcc-4_3-branch)   (revision 141004)
990
1019
@@ -0,0 +1,17 @@
991
1020
+/* PR tree-opt/35737 */
992
1021
+
1008
1037
Index: gcc/testsuite/gcc.target/powerpc/pr37168.c
1009
1038
===================================================================
1010
1039
--- gcc/testsuite/gcc.target/powerpc/pr37168.c  (.../tags/gcc_4_3_2_release)    (revision 0)
1011
 
+++ gcc/testsuite/gcc.target/powerpc/pr37168.c  (.../branches/gcc-4_3-branch)   (revision 140854)
 
1040
+++ gcc/testsuite/gcc.target/powerpc/pr37168.c  (.../branches/gcc-4_3-branch)   (revision 141004)
1012
1041
@@ -0,0 +1,14 @@
1013
1042
+/* PR target/37168 */
1014
1043
+/* { dg-do compile { target powerpc*-*-* } } */
1027
1056
Index: gcc/testsuite/gcc.target/powerpc/altivec-volatile.c
1028
1057
===================================================================
1029
1058
--- gcc/testsuite/gcc.target/powerpc/altivec-volatile.c (.../tags/gcc_4_3_2_release)    (revision 0)
1030
 
+++ gcc/testsuite/gcc.target/powerpc/altivec-volatile.c (.../branches/gcc-4_3-branch)   (revision 140854)
 
1059
+++ gcc/testsuite/gcc.target/powerpc/altivec-volatile.c (.../branches/gcc-4_3-branch)   (revision 141004)
1031
1060
@@ -0,0 +1,13 @@
1032
1061
+/* { dg-do compile { target powerpc*-*-* } } */
1033
1062
+/* { dg-require-effective-target powerpc_altivec_ok } */
1045
1074
Index: gcc/testsuite/gcc.target/i386/pr37197.c
1046
1075
===================================================================
1047
1076
--- gcc/testsuite/gcc.target/i386/pr37197.c     (.../tags/gcc_4_3_2_release)    (revision 0)
1048
 
+++ gcc/testsuite/gcc.target/i386/pr37197.c     (.../branches/gcc-4_3-branch)   (revision 140854)
 
1077
+++ gcc/testsuite/gcc.target/i386/pr37197.c     (.../branches/gcc-4_3-branch)   (revision 141004)
1049
1078
@@ -0,0 +1,7 @@
1050
1079
+/* { dg-do compile } */
1051
1080
+/* { dg-options "-O2 -msse4" } */
1057
1086
Index: gcc/testsuite/gcc.target/i386/pr37191.c
1058
1087
===================================================================
1059
1088
--- gcc/testsuite/gcc.target/i386/pr37191.c     (.../tags/gcc_4_3_2_release)    (revision 0)
1060
 
+++ gcc/testsuite/gcc.target/i386/pr37191.c     (.../branches/gcc-4_3-branch)   (revision 140854)
 
1089
+++ gcc/testsuite/gcc.target/i386/pr37191.c     (.../branches/gcc-4_3-branch)   (revision 141004)
1061
1090
@@ -0,0 +1,43 @@
1062
1091
+/* { dg-do compile } */
1063
1092
+/* { dg-options "-O1 -mmmx" } */
1105
1134
Index: gcc/testsuite/gcc.target/i386/pr37184.c
1106
1135
===================================================================
1107
1136
--- gcc/testsuite/gcc.target/i386/pr37184.c     (.../tags/gcc_4_3_2_release)    (revision 0)
1108
 
+++ gcc/testsuite/gcc.target/i386/pr37184.c     (.../branches/gcc-4_3-branch)   (revision 140854)
 
1137
+++ gcc/testsuite/gcc.target/i386/pr37184.c     (.../branches/gcc-4_3-branch)   (revision 141004)
1109
1138
@@ -0,0 +1,24 @@
1110
1139
+/* { dg-do compile } */
1111
1140
+/* { dg-require-effective-target ilp32 } */
1131
1160
+    return 1;
1132
1161
+}
1133
1162
+
 
1163
Index: gcc/testsuite/gnat.dg/loop_optimization4.adb
 
1164
===================================================================
 
1165
--- gcc/testsuite/gnat.dg/loop_optimization4.adb        (.../tags/gcc_4_3_2_release)    (revision 0)
 
1166
+++ gcc/testsuite/gnat.dg/loop_optimization4.adb        (.../branches/gcc-4_3-branch)   (revision 141004)
 
1167
@@ -0,0 +1,9 @@
 
1168
+-- { dg-do run }
 
1169
+-- { dg-options "-O2" }
 
1170
+
 
1171
+with Loop_Optimization4_Pkg; use Loop_Optimization4_Pkg;
 
1172
+
 
1173
+procedure Loop_Optimization4 is
 
1174
+begin
 
1175
+  Add ("Nothing");
 
1176
+end;
1134
1177
Index: gcc/testsuite/gnat.dg/conv_decimal.adb
1135
1178
===================================================================
1136
1179
--- gcc/testsuite/gnat.dg/conv_decimal.adb      (.../tags/gcc_4_3_2_release)    (revision 0)
1137
 
+++ gcc/testsuite/gnat.dg/conv_decimal.adb      (.../branches/gcc-4_3-branch)   (revision 140854)
 
1180
+++ gcc/testsuite/gnat.dg/conv_decimal.adb      (.../branches/gcc-4_3-branch)   (revision 141004)
1138
1181
@@ -0,0 +1,34 @@
1139
1182
+-- PR middle-end/36575
1140
1183
+-- reporter: Laurent Guerby <laurent@guerby.net>
1170
1213
+  Also_Big := Signed_Over_8 (Neg_Half); -- Rounds down by 4.6(33).
1171
1214
+  Assert(Also_Big = -3);
1172
1215
+end;
 
1216
Index: gcc/testsuite/gnat.dg/unchecked_convert2.adb
 
1217
===================================================================
 
1218
--- gcc/testsuite/gnat.dg/unchecked_convert2.adb        (.../tags/gcc_4_3_2_release)    (revision 0)
 
1219
+++ gcc/testsuite/gnat.dg/unchecked_convert2.adb        (.../branches/gcc-4_3-branch)   (revision 141004)
 
1220
@@ -0,0 +1,34 @@
 
1221
+-- { dg-do run }
 
1222
+
 
1223
+with Ada.Unchecked_Conversion;
 
1224
+with Ada.Streams; use Ada.Streams;
 
1225
+with Ada.Text_IO; use Ada.Text_IO;
 
1226
+
 
1227
+procedure Unchecked_Convert2 is
 
1228
+
 
1229
+   subtype Day_Number is Integer range 0 .. 31;
 
1230
+
 
1231
+   subtype Byte_Array_Of_Integer is Stream_Element_Array
 
1232
+     (1 .. Integer'Size / Stream_Element_Array'Component_Size);
 
1233
+
 
1234
+   function To_Byte_Array is
 
1235
+      new Ada.Unchecked_Conversion (Integer, Byte_Array_Of_Integer);
 
1236
+
 
1237
+   Day_Now : Day_Number;
 
1238
+   Pragma Volatile (Day_Now);
 
1239
+
 
1240
+   Arr : Stream_Element_Array (1 .. 12) := (others => 16#ff#);
 
1241
+
 
1242
+   procedure Test (Arr : Stream_Element_Array) is
 
1243
+   begin
 
1244
+      if Arr(5) /= 0 or Arr(6) /= 0 or Arr(7) /= 0 or Arr(8) /= 0 then
 
1245
+         raise Program_Error;
 
1246
+      end if;
 
1247
+   end;
 
1248
+
 
1249
+begin
 
1250
+   Day_Now := 0;
 
1251
+   Arr (5 .. 8) := To_Byte_Array (Day_Now);
 
1252
+   Test (Arr);
 
1253
+   Arr (1) := 16#ff#;
 
1254
+end Unchecked_Convert2;
 
1255
Index: gcc/testsuite/gnat.dg/loop_optimization4_pkg.adb
 
1256
===================================================================
 
1257
--- gcc/testsuite/gnat.dg/loop_optimization4_pkg.adb    (.../tags/gcc_4_3_2_release)    (revision 0)
 
1258
+++ gcc/testsuite/gnat.dg/loop_optimization4_pkg.adb    (.../branches/gcc-4_3-branch)   (revision 141004)
 
1259
@@ -0,0 +1,17 @@
 
1260
+package body Loop_Optimization4_Pkg is
 
1261
+
 
1262
+   procedure Add (Phrase : String) is
 
1263
+   begin
 
1264
+      if Debug_Buffer_Len = Max_Debug_Buffer_Len then
 
1265
+         return;
 
1266
+      end if;
 
1267
+      for I in Phrase'Range loop
 
1268
+         Debug_Buffer_Len := Debug_Buffer_Len + 1;
 
1269
+         Debug_Buffer (Debug_Buffer_Len) := Phrase (I);
 
1270
+         if Debug_Buffer_Len = Max_Debug_Buffer_Len then
 
1271
+            exit;
 
1272
+         end if;
 
1273
+      end loop;
 
1274
+   end Add;
 
1275
+
 
1276
+end Loop_Optimization4_Pkg;
 
1277
Index: gcc/testsuite/gnat.dg/loop_optimization4_pkg.ads
 
1278
===================================================================
 
1279
--- gcc/testsuite/gnat.dg/loop_optimization4_pkg.ads    (.../tags/gcc_4_3_2_release)    (revision 0)
 
1280
+++ gcc/testsuite/gnat.dg/loop_optimization4_pkg.ads    (.../branches/gcc-4_3-branch)   (revision 141004)
 
1281
@@ -0,0 +1,9 @@
 
1282
+package Loop_Optimization4_Pkg is
 
1283
+
 
1284
+   Max_Debug_Buffer_Len : Natural := 8 * 1024;
 
1285
+   Debug_Buffer : String (1 .. Max_Debug_Buffer_Len);
 
1286
+   Debug_Buffer_Len : Natural range 0 .. Max_Debug_Buffer_Len;
 
1287
+
 
1288
+   procedure Add (Phrase : String);
 
1289
+
 
1290
+end Loop_Optimization4_Pkg;
1173
1291
Index: gcc/testsuite/gcc.dg/pragma-init-fini.c
1174
1292
===================================================================
1175
 
--- gcc/testsuite/gcc.dg/pragma-init-fini.c     (.../tags/gcc_4_3_2_release)    (revision 140854)
1176
 
+++ gcc/testsuite/gcc.dg/pragma-init-fini.c     (.../branches/gcc-4_3-branch)   (revision 140854)
 
1293
--- gcc/testsuite/gcc.dg/pragma-init-fini.c     (.../tags/gcc_4_3_2_release)    (revision 141004)
 
1294
+++ gcc/testsuite/gcc.dg/pragma-init-fini.c     (.../branches/gcc-4_3-branch)   (revision 141004)
1177
1295
@@ -4,13 +4,13 @@
1178
1296
 
1179
1297
 extern void abort ();
1197
1315
Index: gcc/testsuite/gcc.dg/pr37645.c
1198
1316
===================================================================
1199
1317
--- gcc/testsuite/gcc.dg/pr37645.c      (.../tags/gcc_4_3_2_release)    (revision 0)
1200
 
+++ gcc/testsuite/gcc.dg/pr37645.c      (.../branches/gcc-4_3-branch)   (revision 140854)
 
1318
+++ gcc/testsuite/gcc.dg/pr37645.c      (.../branches/gcc-4_3-branch)   (revision 141004)
1201
1319
@@ -0,0 +1,5 @@
1202
1320
+/* PR c/37645 */
1203
1321
+/* { dg-do compile } */
1206
1324
+void foo (int i __attribute__((__weakref__ ("j"))));   /* { dg-warning "attribute ignored" } */
1207
1325
Index: gcc/testsuite/gcc.dg/pragma-align-2.c
1208
1326
===================================================================
1209
 
--- gcc/testsuite/gcc.dg/pragma-align-2.c       (.../tags/gcc_4_3_2_release)    (revision 140854)
1210
 
+++ gcc/testsuite/gcc.dg/pragma-align-2.c       (.../branches/gcc-4_3-branch)   (revision 140854)
 
1327
--- gcc/testsuite/gcc.dg/pragma-align-2.c       (.../tags/gcc_4_3_2_release)    (revision 141004)
 
1328
+++ gcc/testsuite/gcc.dg/pragma-align-2.c       (.../branches/gcc-4_3-branch)   (revision 141004)
1211
1329
@@ -19,15 +19,15 @@
1212
1330
 
1213
1331
 #pragma align 8(not_defined)
1230
1348
 
1231
1349
 int
1232
1350
 main ()
 
1351
Index: gcc/testsuite/gcc.dg/torture/pr37731-1.c
 
1352
===================================================================
 
1353
--- gcc/testsuite/gcc.dg/torture/pr37731-1.c    (.../tags/gcc_4_3_2_release)    (revision 0)
 
1354
+++ gcc/testsuite/gcc.dg/torture/pr37731-1.c    (.../branches/gcc-4_3-branch)   (revision 141004)
 
1355
@@ -0,0 +1,17 @@
 
1356
+/* { dg-do run } */
 
1357
+
 
1358
+extern void abort ();
 
1359
+
 
1360
+unsigned long long xh = 1;
 
1361
+
 
1362
+int
 
1363
+main ()
 
1364
+{
 
1365
+  unsigned long long yh = 0xffffffffull;
 
1366
+  unsigned long long z = xh * yh;
 
1367
+
 
1368
+  if (z != yh)
 
1369
+    abort ();
 
1370
+
 
1371
+  return 0;
 
1372
+}
 
1373
Index: gcc/testsuite/gcc.dg/torture/pr37731-2.c
 
1374
===================================================================
 
1375
--- gcc/testsuite/gcc.dg/torture/pr37731-2.c    (.../tags/gcc_4_3_2_release)    (revision 0)
 
1376
+++ gcc/testsuite/gcc.dg/torture/pr37731-2.c    (.../branches/gcc-4_3-branch)   (revision 141004)
 
1377
@@ -0,0 +1,17 @@
 
1378
+/* { dg-do run } */
 
1379
+
 
1380
+extern void abort ();
 
1381
+
 
1382
+long long xh = 1;
 
1383
+
 
1384
+int
 
1385
+main ()
 
1386
+{
 
1387
+  long long yh = 0xffffffffll;
 
1388
+  long long z = xh * yh;
 
1389
+
 
1390
+  if (z != yh)
 
1391
+    abort ();
 
1392
+
 
1393
+  return 0;
 
1394
+}
1233
1395
Index: gcc/testsuite/gcc.dg/pr37544.c
1234
1396
===================================================================
1235
1397
--- gcc/testsuite/gcc.dg/pr37544.c      (.../tags/gcc_4_3_2_release)    (revision 0)
1236
 
+++ gcc/testsuite/gcc.dg/pr37544.c      (.../branches/gcc-4_3-branch)   (revision 140854)
 
1398
+++ gcc/testsuite/gcc.dg/pr37544.c      (.../branches/gcc-4_3-branch)   (revision 141004)
1237
1399
@@ -0,0 +1,39 @@
1238
1400
+/* { dg-do run } */
1239
1401
+/* { dg-options "-O2" } */
1274
1436
+
1275
1437
+  return 0;
1276
1438
+}
 
1439
Index: gcc/testsuite/gcc.dg/struct-parse-2.c
 
1440
===================================================================
 
1441
--- gcc/testsuite/gcc.dg/struct-parse-2.c       (.../tags/gcc_4_3_2_release)    (revision 0)
 
1442
+++ gcc/testsuite/gcc.dg/struct-parse-2.c       (.../branches/gcc-4_3-branch)   (revision 141004)
 
1443
@@ -0,0 +1,13 @@
 
1444
+/* PR c/35437 */
 
1445
+/* { dg-do "compile" } */
 
1446
+
 
1447
+struct A
 
1448
+{
 
1449
+  int i;
 
1450
+  struct A a; /* { dg-error "has incomplete type" } */
 
1451
+};
 
1452
+
 
1453
+void foo()
 
1454
+{
 
1455
+  struct A b = { 0 };
 
1456
+}
1277
1457
Index: gcc/testsuite/gcc.dg/pr37261.c
1278
1458
===================================================================
1279
1459
--- gcc/testsuite/gcc.dg/pr37261.c      (.../tags/gcc_4_3_2_release)    (revision 0)
1280
 
+++ gcc/testsuite/gcc.dg/pr37261.c      (.../branches/gcc-4_3-branch)   (revision 140854)
 
1460
+++ gcc/testsuite/gcc.dg/pr37261.c      (.../branches/gcc-4_3-branch)   (revision 141004)
1281
1461
@@ -0,0 +1,15 @@
1282
1462
+/* PR c/37261 */
1283
1463
+/* { dg-do compile } */
1297
1477
Index: gcc/testsuite/gcc.dg/dfp/func-pointer.c
1298
1478
===================================================================
1299
1479
--- gcc/testsuite/gcc.dg/dfp/func-pointer.c     (.../tags/gcc_4_3_2_release)    (revision 0)
1300
 
+++ gcc/testsuite/gcc.dg/dfp/func-pointer.c     (.../branches/gcc-4_3-branch)   (revision 140854)
 
1480
+++ gcc/testsuite/gcc.dg/dfp/func-pointer.c     (.../branches/gcc-4_3-branch)   (revision 141004)
1301
1481
@@ -0,0 +1,220 @@
1302
1482
+/* { dg-options "-std=gnu99" } */
1303
1483
+
1522
1702
Index: gcc/testsuite/gcc.dg/dfp/pr35620.c
1523
1703
===================================================================
1524
1704
--- gcc/testsuite/gcc.dg/dfp/pr35620.c  (.../tags/gcc_4_3_2_release)    (revision 0)
1525
 
+++ gcc/testsuite/gcc.dg/dfp/pr35620.c  (.../branches/gcc-4_3-branch)   (revision 140854)
 
1705
+++ gcc/testsuite/gcc.dg/dfp/pr35620.c  (.../branches/gcc-4_3-branch)   (revision 141004)
1526
1706
@@ -0,0 +1,23 @@
1527
1707
+/* { dg-do compile } */
1528
1708
+/* { dg-options "-std=gnu99 -O2" } */
1550
1730
Index: gcc/testsuite/gcc.dg/dfp/func-deref.c
1551
1731
===================================================================
1552
1732
--- gcc/testsuite/gcc.dg/dfp/func-deref.c       (.../tags/gcc_4_3_2_release)    (revision 0)
1553
 
+++ gcc/testsuite/gcc.dg/dfp/func-deref.c       (.../branches/gcc-4_3-branch)   (revision 140854)
 
1733
+++ gcc/testsuite/gcc.dg/dfp/func-deref.c       (.../branches/gcc-4_3-branch)   (revision 141004)
1554
1734
@@ -0,0 +1,220 @@
1555
1735
+/* { dg-options "-std=gnu99" } */
1556
1736
+
1775
1955
Index: gcc/testsuite/gcc.dg/dfp/constants-zero.c
1776
1956
===================================================================
1777
1957
--- gcc/testsuite/gcc.dg/dfp/constants-zero.c   (.../tags/gcc_4_3_2_release)    (revision 0)
1778
 
+++ gcc/testsuite/gcc.dg/dfp/constants-zero.c   (.../branches/gcc-4_3-branch)   (revision 140854)
 
1958
+++ gcc/testsuite/gcc.dg/dfp/constants-zero.c   (.../branches/gcc-4_3-branch)   (revision 141004)
1779
1959
@@ -0,0 +1,159 @@
1780
1960
+/* { dg-options "-std=gnu99 -O0" } */
1781
1961
+
1939
2119
Index: gcc/testsuite/gcc.dg/vect/pr36630.c
1940
2120
===================================================================
1941
2121
--- gcc/testsuite/gcc.dg/vect/pr36630.c (.../tags/gcc_4_3_2_release)    (revision 0)
1942
 
+++ gcc/testsuite/gcc.dg/vect/pr36630.c (.../branches/gcc-4_3-branch)   (revision 140854)
 
2122
+++ gcc/testsuite/gcc.dg/vect/pr36630.c (.../branches/gcc-4_3-branch)   (revision 141004)
1943
2123
@@ -0,0 +1,17 @@
1944
2124
+/* { dg-do compile } */
1945
2125
+/* { dg-require-effective-target vect_int } */
1960
2140
+/* { dg-final { cleanup-tree-dump "vect" } } */
1961
2141
Index: gcc/testsuite/gcc.dg/format/cmn-err-1.c
1962
2142
===================================================================
1963
 
--- gcc/testsuite/gcc.dg/format/cmn-err-1.c     (.../tags/gcc_4_3_2_release)    (revision 140854)
1964
 
+++ gcc/testsuite/gcc.dg/format/cmn-err-1.c     (.../branches/gcc-4_3-branch)   (revision 140854)
 
2143
--- gcc/testsuite/gcc.dg/format/cmn-err-1.c     (.../tags/gcc_4_3_2_release)    (revision 141004)
 
2144
+++ gcc/testsuite/gcc.dg/format/cmn-err-1.c     (.../branches/gcc-4_3-branch)   (revision 141004)
1965
2145
@@ -27,12 +27,12 @@
1966
2146
   cmn_err_func (0, "%p", string);
1967
2147
   cmn_err_func (0, "%16b", i, "\01Foo");
1984
2164
 }
1985
2165
Index: gcc/testsuite/ChangeLog
1986
2166
===================================================================
1987
 
--- gcc/testsuite/ChangeLog     (.../tags/gcc_4_3_2_release)    (revision 140854)
1988
 
+++ gcc/testsuite/ChangeLog     (.../branches/gcc-4_3-branch)   (revision 140854)
1989
 
@@ -1,3 +1,212 @@
 
2167
--- gcc/testsuite/ChangeLog     (.../tags/gcc_4_3_2_release)    (revision 141004)
 
2168
+++ gcc/testsuite/ChangeLog     (.../branches/gcc-4_3-branch)   (revision 141004)
 
2169
@@ -1,3 +1,241 @@
 
2170
+2008-10-08  Simon Martin  <simartin@users.sourceforge.net>
 
2171
+
 
2172
+       PR c/35437
 
2173
+       * gcc.dg/struct-parse-2.c: New test.
 
2174
+       * g++.dg/parse/struct-4.C: New test.
 
2175
+
 
2176
+2008-10-07  H.J. Lu  <hongjiu.lu@intel.com>
 
2177
+
 
2178
+       Backport from mainline:
 
2179
+       2008-10-07  H.J. Lu  <hongjiu.lu@intel.com>
 
2180
+
 
2181
+       PR middle-end/37731
 
2182
+       * gcc.dg/torture/pr37731-1.c: New.
 
2183
+       * gcc.dg/torture/pr37731-2.c: Likewise.
 
2184
+
 
2185
+2008-10-07  Eric Botcazou  <ebotcazou@adacore.com>
 
2186
+
 
2187
+       * gnat.dg/loop_optimization4.adb: New test.
 
2188
+       * gnat.dg/loop_optimization4_pkg.ad[sb]: New helper.
 
2189
+
 
2190
+2008-10-06  Eric Botcazou  <ebotcazou@adacore.com>
 
2191
+
 
2192
+       * gnat.dg/unchecked_convert2.adb: New test.
 
2193
+
 
2194
+2008-10-05  Paul Thomas  <pault@gcc.gnu.org>
 
2195
+
 
2196
+       PR fortran/37706
 
2197
+       * gfortran.dg/module_equivalence_4.f90: New test.
 
2198
+
1990
2199
+2008-09-30  Simon Martin  <simartin@users.sourceforge.net>
1991
2200
+
1992
2201
+       PR c++/37555
2202
2411
Index: gcc/testsuite/gfortran.fortran-torture/compile/pr37236.f
2203
2412
===================================================================
2204
2413
--- gcc/testsuite/gfortran.fortran-torture/compile/pr37236.f    (.../tags/gcc_4_3_2_release)    (revision 0)
2205
 
+++ gcc/testsuite/gfortran.fortran-torture/compile/pr37236.f    (.../branches/gcc-4_3-branch)   (revision 140854)
 
2414
+++ gcc/testsuite/gfortran.fortran-torture/compile/pr37236.f    (.../branches/gcc-4_3-branch)   (revision 141004)
2206
2415
@@ -0,0 +1,82 @@
2207
2416
+C
2208
2417
+      SUBROUTINE FFTRC  (A,N,X,IWK,WK)
2289
2498
Index: gcc/testsuite/g++.dg/other/new-size-type.C
2290
2499
===================================================================
2291
2500
--- gcc/testsuite/g++.dg/other/new-size-type.C  (.../tags/gcc_4_3_2_release)    (revision 0)
2292
 
+++ gcc/testsuite/g++.dg/other/new-size-type.C  (.../branches/gcc-4_3-branch)   (revision 140854)
 
2501
+++ gcc/testsuite/g++.dg/other/new-size-type.C  (.../branches/gcc-4_3-branch)   (revision 141004)
2293
2502
@@ -0,0 +1,10 @@
2294
2503
+// Contributed by Dodji Seketeli <dodji@redhat.com>
2295
2504
+// Origin: PR c++/36741
2304
2513
Index: gcc/testsuite/g++.dg/opt/pr36449.C
2305
2514
===================================================================
2306
2515
--- gcc/testsuite/g++.dg/opt/pr36449.C  (.../tags/gcc_4_3_2_release)    (revision 0)
2307
 
+++ gcc/testsuite/g++.dg/opt/pr36449.C  (.../branches/gcc-4_3-branch)   (revision 140854)
 
2516
+++ gcc/testsuite/g++.dg/opt/pr36449.C  (.../branches/gcc-4_3-branch)   (revision 141004)
2308
2517
@@ -0,0 +1,70 @@
2309
2518
+// PR middle-end/36449
2310
2519
+// { dg-do run }
2379
2588
Index: gcc/testsuite/g++.dg/parse/crash45.C
2380
2589
===================================================================
2381
2590
--- gcc/testsuite/g++.dg/parse/crash45.C        (.../tags/gcc_4_3_2_release)    (revision 0)
2382
 
+++ gcc/testsuite/g++.dg/parse/crash45.C        (.../branches/gcc-4_3-branch)   (revision 140854)
 
2591
+++ gcc/testsuite/g++.dg/parse/crash45.C        (.../branches/gcc-4_3-branch)   (revision 141004)
2383
2592
@@ -0,0 +1,7 @@
2384
2593
+// PR c++/37348
2385
2594
+// { dg-do compile }
2391
2600
Index: gcc/testsuite/g++.dg/parse/enum4.C
2392
2601
===================================================================
2393
2602
--- gcc/testsuite/g++.dg/parse/enum4.C  (.../tags/gcc_4_3_2_release)    (revision 0)
2394
 
+++ gcc/testsuite/g++.dg/parse/enum4.C  (.../branches/gcc-4_3-branch)   (revision 140854)
 
2603
+++ gcc/testsuite/g++.dg/parse/enum4.C  (.../branches/gcc-4_3-branch)   (revision 141004)
2395
2604
@@ -0,0 +1,10 @@
2396
2605
+// PR c++/37389
2397
2606
+// { dg-do compile }
2406
2615
Index: gcc/testsuite/g++.dg/parse/error32.C
2407
2616
===================================================================
2408
2617
--- gcc/testsuite/g++.dg/parse/error32.C        (.../tags/gcc_4_3_2_release)    (revision 0)
2409
 
+++ gcc/testsuite/g++.dg/parse/error32.C        (.../branches/gcc-4_3-branch)   (revision 140854)
 
2618
+++ gcc/testsuite/g++.dg/parse/error32.C        (.../branches/gcc-4_3-branch)   (revision 141004)
2410
2619
@@ -0,0 +1,12 @@
2411
2620
+/* PR c++/37555 */
2412
2621
+/* { dg-do "compile" } */
2420
2629
+  T t;
2421
2630
+  t; /* { dg-error "was not declared" } */
2422
2631
+}
 
2632
Index: gcc/testsuite/g++.dg/parse/struct-4.C
 
2633
===================================================================
 
2634
--- gcc/testsuite/g++.dg/parse/struct-4.C       (.../tags/gcc_4_3_2_release)    (revision 0)
 
2635
+++ gcc/testsuite/g++.dg/parse/struct-4.C       (.../branches/gcc-4_3-branch)   (revision 141004)
 
2636
@@ -0,0 +1,13 @@
 
2637
+/* PR c/35437 */
 
2638
+/* { dg-do "compile" } */
 
2639
+
 
2640
+struct A
 
2641
+{
 
2642
+  int i;
 
2643
+  struct A a; /* { dg-error "has incomplete type" } */
 
2644
+};
 
2645
+
 
2646
+void foo()
 
2647
+{
 
2648
+  struct A b = { 0 };
 
2649
+}
2423
2650
Index: gcc/testsuite/g++.dg/init/const7.C
2424
2651
===================================================================
2425
2652
--- gcc/testsuite/g++.dg/init/const7.C  (.../tags/gcc_4_3_2_release)    (revision 0)
2426
 
+++ gcc/testsuite/g++.dg/init/const7.C  (.../branches/gcc-4_3-branch)   (revision 140854)
 
2653
+++ gcc/testsuite/g++.dg/init/const7.C  (.../branches/gcc-4_3-branch)   (revision 141004)
2427
2654
@@ -0,0 +1,13 @@
2428
2655
+// { dg-do compile }
2429
2656
+// { dg-options "-fdump-tree-gimple" }
2441
2668
Index: gcc/testsuite/gfortran.dg/host_assoc_call_2.f90
2442
2669
===================================================================
2443
2670
--- gcc/testsuite/gfortran.dg/host_assoc_call_2.f90     (.../tags/gcc_4_3_2_release)    (revision 0)
2444
 
+++ gcc/testsuite/gfortran.dg/host_assoc_call_2.f90     (.../branches/gcc-4_3-branch)   (revision 140854)
 
2671
+++ gcc/testsuite/gfortran.dg/host_assoc_call_2.f90     (.../branches/gcc-4_3-branch)   (revision 141004)
2445
2672
@@ -0,0 +1,18 @@
2446
2673
+! { dg-do compile }
2447
2674
+! Tests the fix for PR36700, in which the call to the function would
2464
2691
Index: gcc/testsuite/gfortran.dg/generic_17.f90
2465
2692
===================================================================
2466
2693
--- gcc/testsuite/gfortran.dg/generic_17.f90    (.../tags/gcc_4_3_2_release)    (revision 0)
2467
 
+++ gcc/testsuite/gfortran.dg/generic_17.f90    (.../branches/gcc-4_3-branch)   (revision 140854)
 
2694
+++ gcc/testsuite/gfortran.dg/generic_17.f90    (.../branches/gcc-4_3-branch)   (revision 141004)
2468
2695
@@ -0,0 +1,40 @@
2469
2696
+! { dg-do compile }
2470
2697
+! Test the patch for PR36374 in which the different
2506
2733
+  use foo_mod
2507
2734
+end subroutine s_foobar
2508
2735
+! { dg-final { cleanup-modules "s_foo_mod d_foo_mod foo_mod" } }
 
2736
Index: gcc/testsuite/gfortran.dg/module_equivalence_4.f90
 
2737
===================================================================
 
2738
--- gcc/testsuite/gfortran.dg/module_equivalence_4.f90  (.../tags/gcc_4_3_2_release)    (revision 0)
 
2739
+++ gcc/testsuite/gfortran.dg/module_equivalence_4.f90  (.../branches/gcc-4_3-branch)   (revision 141004)
 
2740
@@ -0,0 +1,29 @@
 
2741
+! { dg-do compile }
 
2742
+! This checks the fix for PR37706 in which the equivalence would be
 
2743
+! inserted into the 'nudata' namespace with the inevitable consequences.
 
2744
+!
 
2745
+! Contributed by Lester Petrie <petrielmjr@ornl.gov>
 
2746
+!
 
2747
+module data_C 
 
2748
+    integer, dimension(200) :: l  = (/(201-i, i = 1,200)/)
 
2749
+    integer :: l0
 
2750
+    integer :: l24, l27, l28, l29
 
2751
+    equivalence ( l(1), l0 )
 
2752
+  end module data_C 
 
2753
+
 
2754
+subroutine nudata(nlibe, a, l) 
 
2755
+  USE data_C, only:  l24, l27, l28, l29
 
2756
+  implicit none
 
2757
+  integer  :: nlibe 
 
2758
+  integer  :: l(*) 
 
2759
+  real :: a(*)
 
2760
+  print *, l(1), l(2)
 
2761
+  return  
 
2762
+end subroutine nudata
 
2763
+      
 
2764
+  integer  :: l_(2) = (/1,2/), nlibe_ = 42
 
2765
+  real :: a_(2) = (/1.,2./)  
 
2766
+  call nudata (nlibe_, a_, l_)
 
2767
+end
 
2768
+
 
2769
+! { dg-final { cleanup-modules "data_C" } }
2509
2770
Index: gcc/testsuite/gfortran.dg/pointer_assign_5.f90
2510
2771
===================================================================
2511
2772
--- gcc/testsuite/gfortran.dg/pointer_assign_5.f90      (.../tags/gcc_4_3_2_release)    (revision 0)
2512
 
+++ gcc/testsuite/gfortran.dg/pointer_assign_5.f90      (.../branches/gcc-4_3-branch)   (revision 140854)
 
2773
+++ gcc/testsuite/gfortran.dg/pointer_assign_5.f90      (.../branches/gcc-4_3-branch)   (revision 141004)
2513
2774
@@ -0,0 +1,9 @@
2514
2775
+! { dg-do compile }
2515
2776
+! PR fortran/37580
2523
2784
Index: gcc/testsuite/gfortran.dg/implicit_12.f90
2524
2785
===================================================================
2525
2786
--- gcc/testsuite/gfortran.dg/implicit_12.f90   (.../tags/gcc_4_3_2_release)    (revision 0)
2526
 
+++ gcc/testsuite/gfortran.dg/implicit_12.f90   (.../branches/gcc-4_3-branch)   (revision 140854)
 
2787
+++ gcc/testsuite/gfortran.dg/implicit_12.f90   (.../branches/gcc-4_3-branch)   (revision 141004)
2527
2788
@@ -0,0 +1,21 @@
2528
2789
+! { dg-do compile }
2529
2790
+
2549
2810
Index: gcc/testsuite/gfortran.dg/pointer_assign_6.f90
2550
2811
===================================================================
2551
2812
--- gcc/testsuite/gfortran.dg/pointer_assign_6.f90      (.../tags/gcc_4_3_2_release)    (revision 0)
2552
 
+++ gcc/testsuite/gfortran.dg/pointer_assign_6.f90      (.../branches/gcc-4_3-branch)   (revision 140854)
 
2813
+++ gcc/testsuite/gfortran.dg/pointer_assign_6.f90      (.../branches/gcc-4_3-branch)   (revision 141004)
2553
2814
@@ -0,0 +1,9 @@
2554
2815
+! { dg-do compile }
2555
2816
+! { dg-options "-std=f95" }
2563
2824
Index: gcc/testsuite/gfortran.dg/data_array_5.f90
2564
2825
===================================================================
2565
2826
--- gcc/testsuite/gfortran.dg/data_array_5.f90  (.../tags/gcc_4_3_2_release)    (revision 0)
2566
 
+++ gcc/testsuite/gfortran.dg/data_array_5.f90  (.../branches/gcc-4_3-branch)   (revision 140854)
 
2827
+++ gcc/testsuite/gfortran.dg/data_array_5.f90  (.../branches/gcc-4_3-branch)   (revision 141004)
2567
2828
@@ -0,0 +1,14 @@
2568
2829
+! { dg-do compile }
2569
2830
+! Tests the fix for PR36371, in which the locus for the errors pointed to
2582
2843
Index: gcc/testsuite/gfortran.dg/use_rename_4.f90
2583
2844
===================================================================
2584
2845
--- gcc/testsuite/gfortran.dg/use_rename_4.f90  (.../tags/gcc_4_3_2_release)    (revision 0)
2585
 
+++ gcc/testsuite/gfortran.dg/use_rename_4.f90  (.../branches/gcc-4_3-branch)   (revision 140854)
 
2846
+++ gcc/testsuite/gfortran.dg/use_rename_4.f90  (.../branches/gcc-4_3-branch)   (revision 141004)
2586
2847
@@ -0,0 +1,22 @@
2587
2848
+! { dg-do run }
2588
2849
+
2609
2870
Index: gcc/testsuite/gfortran.dg/host_assoc_types_2.f90
2610
2871
===================================================================
2611
2872
--- gcc/testsuite/gfortran.dg/host_assoc_types_2.f90    (.../tags/gcc_4_3_2_release)    (revision 0)
2612
 
+++ gcc/testsuite/gfortran.dg/host_assoc_types_2.f90    (.../branches/gcc-4_3-branch)   (revision 140854)
 
2873
+++ gcc/testsuite/gfortran.dg/host_assoc_types_2.f90    (.../branches/gcc-4_3-branch)   (revision 141004)
2613
2874
@@ -0,0 +1,69 @@
2614
2875
+! { dg-do compile }
2615
2876
+! Tests the fix for PR35945, the host association of overloaded_type_s
2683
2944
Index: gcc/testsuite/gfortran.dg/allocatable_function_4.f90
2684
2945
===================================================================
2685
2946
--- gcc/testsuite/gfortran.dg/allocatable_function_4.f90        (.../tags/gcc_4_3_2_release)    (revision 0)
2686
 
+++ gcc/testsuite/gfortran.dg/allocatable_function_4.f90        (.../branches/gcc-4_3-branch)   (revision 140854)
 
2947
+++ gcc/testsuite/gfortran.dg/allocatable_function_4.f90        (.../branches/gcc-4_3-branch)   (revision 141004)
2687
2948
@@ -0,0 +1,56 @@
2688
2949
+! { dg-do compile }
2689
2950
+! { dg-options "-fdump-tree-original" }
2744
3005
Index: gcc/testsuite/gfortran.dg/save_3.f90
2745
3006
===================================================================
2746
3007
--- gcc/testsuite/gfortran.dg/save_3.f90        (.../tags/gcc_4_3_2_release)    (revision 0)
2747
 
+++ gcc/testsuite/gfortran.dg/save_3.f90        (.../branches/gcc-4_3-branch)   (revision 140854)
 
3008
+++ gcc/testsuite/gfortran.dg/save_3.f90        (.../branches/gcc-4_3-branch)   (revision 141004)
2748
3009
@@ -0,0 +1,16 @@
2749
3010
+! { dg-do compile }
2750
3011
+
2765
3026
Index: gcc/testsuite/gfortran.dg/use_rename_5.f90
2766
3027
===================================================================
2767
3028
--- gcc/testsuite/gfortran.dg/use_rename_5.f90  (.../tags/gcc_4_3_2_release)    (revision 0)
2768
 
+++ gcc/testsuite/gfortran.dg/use_rename_5.f90  (.../branches/gcc-4_3-branch)   (revision 140854)
 
3029
+++ gcc/testsuite/gfortran.dg/use_rename_5.f90  (.../branches/gcc-4_3-branch)   (revision 141004)
2769
3030
@@ -0,0 +1,17 @@
2770
3031
+! { dg-do compile }
2771
3032
+
2787
3048
Index: gcc/testsuite/gfortran.dg/string_compare_1.f90
2788
3049
===================================================================
2789
3050
--- gcc/testsuite/gfortran.dg/string_compare_1.f90      (.../tags/gcc_4_3_2_release)    (revision 0)
2790
 
+++ gcc/testsuite/gfortran.dg/string_compare_1.f90      (.../branches/gcc-4_3-branch)   (revision 140854)
 
3051
+++ gcc/testsuite/gfortran.dg/string_compare_1.f90      (.../branches/gcc-4_3-branch)   (revision 141004)
2791
3052
@@ -0,0 +1,25 @@
2792
3053
+! { dg-do run }
2793
3054
+
2817
3078
Index: gcc/testsuite/gfortran.dg/string_compare_2.f90
2818
3079
===================================================================
2819
3080
--- gcc/testsuite/gfortran.dg/string_compare_2.f90      (.../tags/gcc_4_3_2_release)    (revision 0)
2820
 
+++ gcc/testsuite/gfortran.dg/string_compare_2.f90      (.../branches/gcc-4_3-branch)   (revision 140854)
 
3081
+++ gcc/testsuite/gfortran.dg/string_compare_2.f90      (.../branches/gcc-4_3-branch)   (revision 141004)
2821
3082
@@ -0,0 +1,37 @@
2822
3083
+! { dg-do run }
2823
3084
+
2859
3120
Index: gcc/testsuite/gfortran.dg/ambiguous_specific_2.f90
2860
3121
===================================================================
2861
3122
--- gcc/testsuite/gfortran.dg/ambiguous_specific_2.f90  (.../tags/gcc_4_3_2_release)    (revision 0)
2862
 
+++ gcc/testsuite/gfortran.dg/ambiguous_specific_2.f90  (.../branches/gcc-4_3-branch)   (revision 140854)
 
3123
+++ gcc/testsuite/gfortran.dg/ambiguous_specific_2.f90  (.../branches/gcc-4_3-branch)   (revision 141004)
2863
3124
@@ -0,0 +1,42 @@
2864
3125
+! { dg-do compile }
2865
3126
+! Checks the fix for PR33542 does not throw an error if there is no
2906
3167
Index: gcc/testsuite/gfortran.dg/used_types_22.f90
2907
3168
===================================================================
2908
3169
--- gcc/testsuite/gfortran.dg/used_types_22.f90 (.../tags/gcc_4_3_2_release)    (revision 0)
2909
 
+++ gcc/testsuite/gfortran.dg/used_types_22.f90 (.../branches/gcc-4_3-branch)   (revision 140854)
 
3170
+++ gcc/testsuite/gfortran.dg/used_types_22.f90 (.../branches/gcc-4_3-branch)   (revision 141004)
2910
3171
@@ -0,0 +1,294 @@
2911
3172
+! { dg-do compile }
2912
3173
+! Tests the fix for PR37274 a regression in which the derived type,
3204
3465
+! { dg-final { cleanup-modules "class_motion class_bc_math class_bc tools_mesh_basics" } }
3205
3466
Index: gcc/testsuite/gfortran.dg/generic_actual_arg.f90
3206
3467
===================================================================
3207
 
--- gcc/testsuite/gfortran.dg/generic_actual_arg.f90    (.../tags/gcc_4_3_2_release)    (revision 140854)
3208
 
+++ gcc/testsuite/gfortran.dg/generic_actual_arg.f90    (.../branches/gcc-4_3-branch)   (revision 140854)
 
3468
--- gcc/testsuite/gfortran.dg/generic_actual_arg.f90    (.../tags/gcc_4_3_2_release)    (revision 141004)
 
3469
+++ gcc/testsuite/gfortran.dg/generic_actual_arg.f90    (.../branches/gcc-4_3-branch)   (revision 141004)
3209
3470
@@ -2,11 +2,14 @@
3210
3471
 ! Tests fix for PR20886 in which the passing of a generic procedure as
3211
3472
 ! an actual argument was not detected.
3255
3516
Index: gcc/testsuite/gfortran.dg/string_compare_3.f90
3256
3517
===================================================================
3257
3518
--- gcc/testsuite/gfortran.dg/string_compare_3.f90      (.../tags/gcc_4_3_2_release)    (revision 0)
3258
 
+++ gcc/testsuite/gfortran.dg/string_compare_3.f90      (.../branches/gcc-4_3-branch)   (revision 140854)
 
3519
+++ gcc/testsuite/gfortran.dg/string_compare_3.f90      (.../branches/gcc-4_3-branch)   (revision 141004)
3259
3520
@@ -0,0 +1,21 @@
3260
3521
+! { dg-do run }
3261
3522
+
3281
3542
Index: gcc/testsuite/gfortran.dg/array_function_2.f90
3282
3543
===================================================================
3283
3544
--- gcc/testsuite/gfortran.dg/array_function_2.f90      (.../tags/gcc_4_3_2_release)    (revision 0)
3284
 
+++ gcc/testsuite/gfortran.dg/array_function_2.f90      (.../branches/gcc-4_3-branch)   (revision 140854)
 
3545
+++ gcc/testsuite/gfortran.dg/array_function_2.f90      (.../branches/gcc-4_3-branch)   (revision 141004)
3285
3546
@@ -0,0 +1,32 @@
3286
3547
+! { dg-do run }
3287
3548
+! { dg-options "-fbounds-check" }
3318
3579
Index: gcc/testsuite/gfortran.dg/used_types_23.f90
3319
3580
===================================================================
3320
3581
--- gcc/testsuite/gfortran.dg/used_types_23.f90 (.../tags/gcc_4_3_2_release)    (revision 0)
3321
 
+++ gcc/testsuite/gfortran.dg/used_types_23.f90 (.../branches/gcc-4_3-branch)   (revision 140854)
 
3582
+++ gcc/testsuite/gfortran.dg/used_types_23.f90 (.../branches/gcc-4_3-branch)   (revision 141004)
3322
3583
@@ -0,0 +1,29 @@
3323
3584
+! { dg-do compile }
3324
3585
+! Tests the fix for PR37274 comment 4 in which the use associated 'vector' was
3352
3613
Index: gcc/testsuite/gfortran.dg/protected_7.f90
3353
3614
===================================================================
3354
3615
--- gcc/testsuite/gfortran.dg/protected_7.f90   (.../tags/gcc_4_3_2_release)    (revision 0)
3355
 
+++ gcc/testsuite/gfortran.dg/protected_7.f90   (.../branches/gcc-4_3-branch)   (revision 140854)
 
3616
+++ gcc/testsuite/gfortran.dg/protected_7.f90   (.../branches/gcc-4_3-branch)   (revision 141004)
3356
3617
@@ -0,0 +1,22 @@
3357
3618
+! { dg-do compile }
3358
3619
+! PR fortran/37504
3379
3640
Index: gcc/testsuite/gfortran.dg/entry_18.f90
3380
3641
===================================================================
3381
3642
--- gcc/testsuite/gfortran.dg/entry_18.f90      (.../tags/gcc_4_3_2_release)    (revision 0)
3382
 
+++ gcc/testsuite/gfortran.dg/entry_18.f90      (.../branches/gcc-4_3-branch)   (revision 140854)
 
3643
+++ gcc/testsuite/gfortran.dg/entry_18.f90      (.../branches/gcc-4_3-branch)   (revision 141004)
3383
3644
@@ -0,0 +1,36 @@
3384
3645
+! { dg-do compile }
3385
3646
+! Test fix for PR37583, in which:
3420
3681
Index: gcc/testsuite/gfortran.dg/access_spec_3.f90
3421
3682
===================================================================
3422
3683
--- gcc/testsuite/gfortran.dg/access_spec_3.f90 (.../tags/gcc_4_3_2_release)    (revision 0)
3423
 
+++ gcc/testsuite/gfortran.dg/access_spec_3.f90 (.../branches/gcc-4_3-branch)   (revision 140854)
 
3684
+++ gcc/testsuite/gfortran.dg/access_spec_3.f90 (.../branches/gcc-4_3-branch)   (revision 141004)
3424
3685
@@ -0,0 +1,34 @@
3425
3686
+! { dg-do compile }
3426
3687
+!
3458
3719
+! { dg-final { cleanup-modules "base a b c" } }
3459
3720
Index: gcc/testsuite/gfortran.dg/boz_9.f90
3460
3721
===================================================================
3461
 
--- gcc/testsuite/gfortran.dg/boz_9.f90 (.../tags/gcc_4_3_2_release)    (revision 140854)
3462
 
+++ gcc/testsuite/gfortran.dg/boz_9.f90 (.../branches/gcc-4_3-branch)   (revision 140854)
 
3722
--- gcc/testsuite/gfortran.dg/boz_9.f90 (.../tags/gcc_4_3_2_release)    (revision 141004)
 
3723
+++ gcc/testsuite/gfortran.dg/boz_9.f90 (.../branches/gcc-4_3-branch)   (revision 141004)
3463
3724
@@ -22,13 +22,13 @@
3464
3725
 
3465
3726
 if (r2c /= 13107.0) call abort()
3488
3749
Index: gcc/testsuite/gfortran.dg/boz_11.f90
3489
3750
===================================================================
3490
3751
--- gcc/testsuite/gfortran.dg/boz_11.f90        (.../tags/gcc_4_3_2_release)    (revision 0)
3491
 
+++ gcc/testsuite/gfortran.dg/boz_11.f90        (.../branches/gcc-4_3-branch)   (revision 140854)
 
3752
+++ gcc/testsuite/gfortran.dg/boz_11.f90        (.../branches/gcc-4_3-branch)   (revision 141004)
3492
3753
@@ -0,0 +1,13 @@
3493
3754
+! { dg-do run }
3494
3755
+
3506
3767
Index: gcc/testsuite/gfortran.dg/boz_12.f90
3507
3768
===================================================================
3508
3769
--- gcc/testsuite/gfortran.dg/boz_12.f90        (.../tags/gcc_4_3_2_release)    (revision 0)
3509
 
+++ gcc/testsuite/gfortran.dg/boz_12.f90        (.../branches/gcc-4_3-branch)   (revision 140854)
 
3770
+++ gcc/testsuite/gfortran.dg/boz_12.f90        (.../branches/gcc-4_3-branch)   (revision 141004)
3510
3771
@@ -0,0 +1,18 @@
3511
3772
+! { dg-do run }
3512
3773
+
3528
3789
+   end
3529
3790
Index: gcc/cp/decl.c
3530
3791
===================================================================
3531
 
--- gcc/cp/decl.c       (.../tags/gcc_4_3_2_release)    (revision 140854)
3532
 
+++ gcc/cp/decl.c       (.../branches/gcc-4_3-branch)   (revision 140854)
 
3792
--- gcc/cp/decl.c       (.../tags/gcc_4_3_2_release)    (revision 141004)
 
3793
+++ gcc/cp/decl.c       (.../branches/gcc-4_3-branch)   (revision 141004)
3533
3794
@@ -5415,7 +5415,7 @@
3534
3795
          DECL_INITIAL (decl) = NULL_TREE;
3535
3796
        }
3591
3852
          else
3592
3853
Index: gcc/cp/ChangeLog
3593
3854
===================================================================
3594
 
--- gcc/cp/ChangeLog    (.../tags/gcc_4_3_2_release)    (revision 140854)
3595
 
+++ gcc/cp/ChangeLog    (.../branches/gcc-4_3-branch)   (revision 140854)
 
3855
--- gcc/cp/ChangeLog    (.../tags/gcc_4_3_2_release)    (revision 141004)
 
3856
+++ gcc/cp/ChangeLog    (.../branches/gcc-4_3-branch)   (revision 141004)
3596
3857
@@ -1,3 +1,21 @@
3597
3858
+2008-09-30  Simon Martin  <simartin@users.sourceforge.net>
3598
3859
+
3617
3878
        * GCC 4.3.2 released.
3618
3879
Index: gcc/haifa-sched.c
3619
3880
===================================================================
3620
 
--- gcc/haifa-sched.c   (.../tags/gcc_4_3_2_release)    (revision 140854)
3621
 
+++ gcc/haifa-sched.c   (.../branches/gcc-4_3-branch)   (revision 140854)
 
3881
--- gcc/haifa-sched.c   (.../tags/gcc_4_3_2_release)    (revision 141004)
 
3882
+++ gcc/haifa-sched.c   (.../branches/gcc-4_3-branch)   (revision 141004)
3622
3883
@@ -4485,4 +4485,15 @@
3623
3884
 }
3624
3885
 #endif /* ENABLE_CHECKING */
3635
3896
+}
3636
3897
+
3637
3898
 #endif /* INSN_SCHEDULING */
 
3899
Index: gcc/tree-ssa-loop-ivopts.c
 
3900
===================================================================
 
3901
--- gcc/tree-ssa-loop-ivopts.c  (.../tags/gcc_4_3_2_release)    (revision 141004)
 
3902
+++ gcc/tree-ssa-loop-ivopts.c  (.../branches/gcc-4_3-branch)   (revision 141004)
 
3903
@@ -1448,11 +1448,9 @@
 
3904
         and make them look addressable.  After some processing the
 
3905
         non-addressability may be uncovered again, causing ADDR_EXPRs
 
3906
         of inappropriate objects to be built.  */
 
3907
-      if (AGGREGATE_TYPE_P (TREE_TYPE (expr))
 
3908
-         && !AGGREGATE_TYPE_P (TREE_TYPE (TREE_OPERAND (expr, 0))))
 
3909
+      if (is_gimple_reg (TREE_OPERAND (expr, 0))
 
3910
+         || !is_gimple_addressable (TREE_OPERAND (expr, 0)))
 
3911
        return true;
 
3912
-      if (TREE_CODE (TREE_OPERAND (expr, 0)) == INTEGER_CST)
 
3913
-       return true;
 
3914
 
 
3915
       /* ... fall through ... */
 
3916
 
3638
3917
Index: gcc/ifcvt.c
3639
3918
===================================================================
3640
 
--- gcc/ifcvt.c (.../tags/gcc_4_3_2_release)    (revision 140854)
3641
 
+++ gcc/ifcvt.c (.../branches/gcc-4_3-branch)   (revision 140854)
 
3919
--- gcc/ifcvt.c (.../tags/gcc_4_3_2_release)    (revision 141004)
 
3920
+++ gcc/ifcvt.c (.../branches/gcc-4_3-branch)   (revision 141004)
3642
3921
@@ -659,7 +659,15 @@
3643
3922
      build the store_flag insn directly.  */
3644
3923
 
3656
3935
 
3657
3936
   if (reversep)
3658
3937
     code = reversed_comparison_code (cond, if_info->jump);
 
3938
Index: gcc/expr.c
 
3939
===================================================================
 
3940
--- gcc/expr.c  (.../tags/gcc_4_3_2_release)    (revision 141004)
 
3941
+++ gcc/expr.c  (.../branches/gcc-4_3-branch)   (revision 141004)
 
3942
@@ -4994,6 +4994,9 @@
 
3943
     case REFERENCE_TYPE:
 
3944
       return 1;
 
3945
 
 
3946
+    case ERROR_MARK:
 
3947
+      return 0;
 
3948
+
 
3949
     case VOID_TYPE:
 
3950
     case METHOD_TYPE:
 
3951
     case FUNCTION_TYPE:
3659
3952
Index: gcc/dwarf2.h
3660
3953
===================================================================
3661
 
--- gcc/dwarf2.h        (.../tags/gcc_4_3_2_release)    (revision 140854)
3662
 
+++ gcc/dwarf2.h        (.../branches/gcc-4_3-branch)   (revision 140854)
 
3954
--- gcc/dwarf2.h        (.../tags/gcc_4_3_2_release)    (revision 141004)
 
3955
+++ gcc/dwarf2.h        (.../branches/gcc-4_3-branch)   (revision 141004)
3663
3956
@@ -543,6 +543,7 @@
3664
3957
     DW_OP_GNU_push_tls_address = 0xe0,
3665
3958
     /* The following is for marking variables that are uninitialized.  */
3670
3963
     DW_OP_HP_is_value    = 0xe1,
3671
3964
Index: gcc/unwind-dw2.c
3672
3965
===================================================================
3673
 
--- gcc/unwind-dw2.c    (.../tags/gcc_4_3_2_release)    (revision 140854)
3674
 
+++ gcc/unwind-dw2.c    (.../branches/gcc-4_3-branch)   (revision 140854)
 
3966
--- gcc/unwind-dw2.c    (.../tags/gcc_4_3_2_release)    (revision 141004)
 
3967
+++ gcc/unwind-dw2.c    (.../branches/gcc-4_3-branch)   (revision 141004)
3675
3968
@@ -494,6 +494,14 @@
3676
3969
          op_ptr += sizeof (void *);
3677
3970
          break;
3687
3980
        case DW_OP_const1u:
3688
3981
          result = read_1u (op_ptr);
3689
3982
          op_ptr += 1;
 
3983
Index: gcc/ada/ChangeLog
 
3984
===================================================================
 
3985
--- gcc/ada/ChangeLog   (.../tags/gcc_4_3_2_release)    (revision 141004)
 
3986
+++ gcc/ada/ChangeLog   (.../branches/gcc-4_3-branch)   (revision 141004)
 
3987
@@ -1,3 +1,11 @@
 
3988
+2008-10-06  Eric Botcazou  <ebotcazou@adacore.com>
 
3989
+
 
3990
+       * utils.c (can_fold_for_view_convert_p): New predicate.
 
3991
+       (unchecked_convert): Use it to disable problematic folding with
 
3992
+       VIEW_CONVERT_EXPR in the general case.  Always disable it for the
 
3993
+       special VIEW_CONVERT_EXPR built for integral types and cope with
 
3994
+       its addressability issues by preserving the first conversion.
 
3995
+
 
3996
 2008-08-27  Release Manager
 
3997
 
 
3998
        * GCC 4.3.2 released.
 
3999
Index: gcc/ada/utils.c
 
4000
===================================================================
 
4001
--- gcc/ada/utils.c     (.../tags/gcc_4_3_2_release)    (revision 141004)
 
4002
+++ gcc/ada/utils.c     (.../branches/gcc-4_3-branch)   (revision 141004)
 
4003
@@ -3824,9 +3824,73 @@
 
4004
   return exp;
 
4005
 }
 
4006
 
 
4007
+/* Return true if EXPR is an expression that can be folded as an operand
 
4008
+   of a VIEW_CONVERT_EXPR.  See the head comment of unchecked_convert for
 
4009
+   the rationale.  */
 
4010
+
 
4011
+static bool
 
4012
+can_fold_for_view_convert_p (tree expr)
 
4013
+{
 
4014
+  tree t1, t2;
 
4015
+
 
4016
+  /* The folder will fold NOP_EXPRs between integral types with the same
 
4017
+     precision (in the middle-end's sense).  We cannot allow it if the
 
4018
+     types don't have the same precision in the Ada sense as well.  */
 
4019
+  if (TREE_CODE (expr) != NOP_EXPR)
 
4020
+    return true;
 
4021
+
 
4022
+  t1 = TREE_TYPE (expr);
 
4023
+  t2 = TREE_TYPE (TREE_OPERAND (expr, 0));
 
4024
+
 
4025
+  /* Defer to the folder for non-integral conversions.  */
 
4026
+  if (!(INTEGRAL_TYPE_P (t1) && INTEGRAL_TYPE_P (t2)))
 
4027
+    return true;
 
4028
+
 
4029
+  /* Only fold conversions that preserve both precisions.  */
 
4030
+  if (TYPE_PRECISION (t1) == TYPE_PRECISION (t2)
 
4031
+      && operand_equal_p (rm_size (t1), rm_size (t2), 0))
 
4032
+    return true;
 
4033
+
 
4034
+  return false;
 
4035
+}
 
4036
+
 
4037
 /* Return an expression that does an unchecked conversion of EXPR to TYPE.
 
4038
-   If NOTRUNC_P is true, truncation operations should be suppressed.  */
 
4039
+   If NOTRUNC_P is true, truncation operations should be suppressed.
 
4040
 
 
4041
+   Special care is required with (source or target) integral types whose
 
4042
+   precision is not equal to their size, to make sure we fetch or assign
 
4043
+   the value bits whose location might depend on the endianness, e.g.
 
4044
+
 
4045
+     Rmsize : constant := 8;
 
4046
+     subtype Int is Integer range 0 .. 2 ** Rmsize - 1;
 
4047
+
 
4048
+     type Bit_Array is array (1 .. Rmsize) of Boolean;
 
4049
+     pragma Pack (Bit_Array);
 
4050
+
 
4051
+     function To_Bit_Array is new Unchecked_Conversion (Int, Bit_Array);
 
4052
+
 
4053
+     Value : Int := 2#1000_0001#;
 
4054
+     Vbits : Bit_Array := To_Bit_Array (Value);
 
4055
+
 
4056
+   we expect the 8 bits at Vbits'Address to always contain Value, while
 
4057
+   their original location depends on the endianness, at Value'Address
 
4058
+   on a little-endian architecture but not on a big-endian one.
 
4059
+
 
4060
+   ??? There is a problematic discrepancy between what is called precision
 
4061
+   here (and more generally throughout gigi) for integral types and what is
 
4062
+   called precision in the middle-end.  In the former case it's the RM size
 
4063
+   as given by TYPE_RM_SIZE (or rm_size) whereas it's TYPE_PRECISION in the
 
4064
+   latter case, the hitch being that they are not equal when they matter,
 
4065
+   that is when the number of value bits is not equal to the type's size:
 
4066
+   TYPE_RM_SIZE does give the number of value bits but TYPE_PRECISION is set
 
4067
+   to the size.  The sole exception are BOOLEAN_TYPEs for which both are 1.
 
4068
+
 
4069
+   The consequence is that gigi must duplicate code bridging the gap between
 
4070
+   the type's size and its precision that exists for TYPE_PRECISION in the
 
4071
+   middle-end, because the latter knows nothing about TYPE_RM_SIZE, and be
 
4072
+   wary of transformations applied in the middle-end based on TYPE_PRECISION
 
4073
+   because this value doesn't reflect the actual precision for Ada.  */
 
4074
+
 
4075
 tree
 
4076
 unchecked_convert (tree type, tree expr, bool notrunc_p)
 
4077
 {
 
4078
@@ -3852,14 +3916,10 @@
 
4079
               && TYPE_JUSTIFIED_MODULAR_P (etype))))
 
4080
       || TREE_CODE (type) == UNCONSTRAINED_ARRAY_TYPE)
 
4081
     {
 
4082
-      tree rtype = type;
 
4083
-      bool final_unchecked = false;
 
4084
-
 
4085
       if (TREE_CODE (etype) == INTEGER_TYPE
 
4086
          && TYPE_BIASED_REPRESENTATION_P (etype))
 
4087
        {
 
4088
          tree ntype = copy_type (etype);
 
4089
-
 
4090
          TYPE_BIASED_REPRESENTATION_P (ntype) = 0;
 
4091
          TYPE_MAIN_VARIANT (ntype) = ntype;
 
4092
          expr = build1 (NOP_EXPR, ntype, expr);
 
4093
@@ -3868,15 +3928,18 @@
 
4094
       if (TREE_CODE (type) == INTEGER_TYPE
 
4095
          && TYPE_BIASED_REPRESENTATION_P (type))
 
4096
        {
 
4097
-         rtype = copy_type (type);
 
4098
+         tree rtype = copy_type (type);
 
4099
          TYPE_BIASED_REPRESENTATION_P (rtype) = 0;
 
4100
          TYPE_MAIN_VARIANT (rtype) = rtype;
 
4101
+         expr = convert (rtype, expr);
 
4102
+         expr = build1 (NOP_EXPR, type, expr);
 
4103
        }
 
4104
 
 
4105
-      /* We have another special case: if we are unchecked converting subtype
 
4106
-        into a base type, we need to ensure that VRP doesn't propagate range
 
4107
-        information since this conversion may be done precisely to validate
 
4108
-        that the object is within the range it is supposed to have.  */
 
4109
+      /* We have another special case: if we are unchecked converting either
 
4110
+        a subtype or a type with limited range into a base type, we need to
 
4111
+        ensure that VRP doesn't propagate range information because this
 
4112
+        conversion may be done precisely to validate that the object is
 
4113
+        within the range it is supposed to have.  */
 
4114
       else if (TREE_CODE (expr) != INTEGER_CST
 
4115
               && TREE_CODE (type) == INTEGER_TYPE && !TREE_TYPE (type)
 
4116
               && ((TREE_CODE (etype) == INTEGER_TYPE && TREE_TYPE (etype))
 
4117
@@ -3887,26 +3950,34 @@
 
4118
             in order not to be deemed an useless type conversion, it must
 
4119
             be from subtype to base type.
 
4120
 
 
4121
+            Therefore we first do the bulk of the conversion to a subtype of
 
4122
+            the final type.  And this conversion must itself not be deemed
 
4123
+            useless if the source type is not a subtype because, otherwise,
 
4124
+            the final VIEW_CONVERT_EXPR will be deemed so as well.  That's
 
4125
+            why we toggle the unsigned flag in this conversion, which is
 
4126
+            harmless since the final conversion is only a reinterpretation
 
4127
+            of the bit pattern.
 
4128
+
 
4129
             ??? This may raise addressability and/or aliasing issues because
 
4130
             VIEW_CONVERT_EXPR gets gimplified as an lvalue, thus causing the
 
4131
             address of its operand to be taken if it is deemed addressable
 
4132
             and not already in GIMPLE form.  */
 
4133
-         rtype = gnat_type_for_mode (TYPE_MODE (type), TYPE_UNSIGNED (type));
 
4134
+         tree rtype
 
4135
+           = gnat_type_for_mode (TYPE_MODE (type), !TYPE_UNSIGNED (etype));
 
4136
          rtype = copy_type (rtype);
 
4137
          TYPE_MAIN_VARIANT (rtype) = rtype;
 
4138
          TREE_TYPE (rtype) = type;
 
4139
-         final_unchecked = true;
 
4140
+         expr = convert (rtype, expr);
 
4141
+         expr = build1 (VIEW_CONVERT_EXPR, type, expr);
 
4142
        }
 
4143
 
 
4144
-      expr = convert (rtype, expr);
 
4145
-      if (type != rtype)
 
4146
-       expr = fold_build1 (final_unchecked ? VIEW_CONVERT_EXPR : NOP_EXPR,
 
4147
-                           type, expr);
 
4148
+      else
 
4149
+       expr = convert (type, expr);
 
4150
     }
 
4151
 
 
4152
-  /* If we are converting TO an integral type whose precision is not the
 
4153
-     same as its size, first unchecked convert to a record that contains
 
4154
-     an object of the output type.  Then extract the field. */
 
4155
+  /* If we are converting to an integral type whose precision is not equal
 
4156
+     to its size, first unchecked convert to a record that contains an
 
4157
+     object of the output type.  Then extract the field. */
 
4158
   else if (INTEGRAL_TYPE_P (type) && TYPE_RM_SIZE (type)
 
4159
           && 0 != compare_tree_int (TYPE_RM_SIZE (type),
 
4160
                                     GET_MODE_BITSIZE (TYPE_MODE (type))))
 
4161
@@ -3922,8 +3993,8 @@
 
4162
       expr = build_component_ref (expr, NULL_TREE, field, 0);
 
4163
     }
 
4164
 
 
4165
-  /* Similarly for integral input type whose precision is not equal to its
 
4166
-     size.  */
 
4167
+  /* Similarly if we are converting from an integral type whose precision
 
4168
+     is not equal to its size.  */
 
4169
   else if (INTEGRAL_TYPE_P (etype) && TYPE_RM_SIZE (etype)
 
4170
       && 0 != compare_tree_int (TYPE_RM_SIZE (etype),
 
4171
                                GET_MODE_BITSIZE (TYPE_MODE (etype))))
 
4172
@@ -3953,13 +4024,15 @@
 
4173
     {
 
4174
       expr = maybe_unconstrained_array (expr);
 
4175
       etype = TREE_TYPE (expr);
 
4176
-      expr = fold_build1 (VIEW_CONVERT_EXPR, type, expr);
 
4177
+      if (can_fold_for_view_convert_p (expr))
 
4178
+       expr = fold_build1 (VIEW_CONVERT_EXPR, type, expr);
 
4179
+      else
 
4180
+       expr = build1 (VIEW_CONVERT_EXPR, type, expr);
 
4181
     }
 
4182
 
 
4183
-  /* If the result is an integral type whose size is not equal to
 
4184
-     the size of the underlying machine type, sign- or zero-extend
 
4185
-     the result.  We need not do this in the case where the input is
 
4186
-     an integral type of the same precision and signedness or if the output
 
4187
+  /* If the result is an integral type whose precision is not equal to its
 
4188
+     size, sign- or zero-extend the result.  We need not do this if the input
 
4189
+     is an integral type of the same precision and signedness or if the output
 
4190
      is a biased type or if both the input and output are unsigned.  */
 
4191
   if (!notrunc_p
 
4192
       && INTEGRAL_TYPE_P (type) && TYPE_RM_SIZE (type)
3690
4193
Index: gcc/fortran/trans-array.c
3691
4194
===================================================================
3692
 
--- gcc/fortran/trans-array.c   (.../tags/gcc_4_3_2_release)    (revision 140854)
3693
 
+++ gcc/fortran/trans-array.c   (.../branches/gcc-4_3-branch)   (revision 140854)
 
4195
--- gcc/fortran/trans-array.c   (.../tags/gcc_4_3_2_release)    (revision 141004)
 
4196
+++ gcc/fortran/trans-array.c   (.../branches/gcc-4_3-branch)   (revision 141004)
3694
4197
@@ -5621,7 +5621,7 @@
3695
4198
       gfc_add_expr_to_block (&fnblock, tmp);
3696
4199
     }
3702
4205
       gfc_add_expr_to_block (&fnblock, tmp);
3703
4206
Index: gcc/fortran/trans-expr.c
3704
4207
===================================================================
3705
 
--- gcc/fortran/trans-expr.c    (.../tags/gcc_4_3_2_release)    (revision 140854)
3706
 
+++ gcc/fortran/trans-expr.c    (.../branches/gcc-4_3-branch)   (revision 140854)
 
4208
--- gcc/fortran/trans-expr.c    (.../tags/gcc_4_3_2_release)    (revision 141004)
 
4209
+++ gcc/fortran/trans-expr.c    (.../branches/gcc-4_3-branch)   (revision 141004)
3707
4210
@@ -1541,6 +1541,7 @@
3708
4211
   /* Create a new symbol to represent the actual argument.  */
3709
4212
   new_sym = gfc_new_symbol (sym->name, NULL);
3766
4269
     default:
3767
4270
Index: gcc/fortran/symbol.c
3768
4271
===================================================================
3769
 
--- gcc/fortran/symbol.c        (.../tags/gcc_4_3_2_release)    (revision 140854)
3770
 
+++ gcc/fortran/symbol.c        (.../branches/gcc-4_3-branch)   (revision 140854)
 
4272
--- gcc/fortran/symbol.c        (.../tags/gcc_4_3_2_release)    (revision 141004)
 
4273
+++ gcc/fortran/symbol.c        (.../branches/gcc-4_3-branch)   (revision 141004)
3771
4274
@@ -1377,7 +1377,8 @@
3772
4275
                const char *name, locus *where)
3773
4276
 {
3788
4291
 
3789
4292
Index: gcc/fortran/decl.c
3790
4293
===================================================================
3791
 
--- gcc/fortran/decl.c  (.../tags/gcc_4_3_2_release)    (revision 140854)
3792
 
+++ gcc/fortran/decl.c  (.../branches/gcc-4_3-branch)   (revision 140854)
 
4294
--- gcc/fortran/decl.c  (.../tags/gcc_4_3_2_release)    (revision 141004)
 
4295
+++ gcc/fortran/decl.c  (.../branches/gcc-4_3-branch)   (revision 141004)
3793
4296
@@ -4504,8 +4504,7 @@
3794
4297
      created symbols attached to the current namespace.  */
3795
4298
   if (get_proc_name (name, &entry,
3802
4305
   proc = gfc_current_block ();
3803
4306
Index: gcc/fortran/ChangeLog
3804
4307
===================================================================
3805
 
--- gcc/fortran/ChangeLog       (.../tags/gcc_4_3_2_release)    (revision 140854)
3806
 
+++ gcc/fortran/ChangeLog       (.../branches/gcc-4_3-branch)   (revision 140854)
3807
 
@@ -1,3 +1,111 @@
 
4308
--- gcc/fortran/ChangeLog       (.../tags/gcc_4_3_2_release)    (revision 141004)
 
4309
+++ gcc/fortran/ChangeLog       (.../branches/gcc-4_3-branch)   (revision 141004)
 
4310
@@ -1,3 +1,117 @@
 
4311
+2008-10-05  Paul Thomas  <pault@gcc.gnu.org>
 
4312
+
 
4313
+       PR fortran/37706
 
4314
+       * module.c (load_equiv): Check the module before negating the
 
4315
+       unused flag.
 
4316
+
3808
4317
+2008-09-26  Tobias Burnus  <burnus@net-b.de>
3809
4318
+
3810
4319
+       PR fortran/37580
3918
4427
        * GCC 4.3.2 released.
3919
4428
Index: gcc/fortran/expr.c
3920
4429
===================================================================
3921
 
--- gcc/fortran/expr.c  (.../tags/gcc_4_3_2_release)    (revision 140854)
3922
 
+++ gcc/fortran/expr.c  (.../branches/gcc-4_3-branch)   (revision 140854)
 
4430
--- gcc/fortran/expr.c  (.../tags/gcc_4_3_2_release)    (revision 141004)
 
4431
+++ gcc/fortran/expr.c  (.../branches/gcc-4_3-branch)   (revision 141004)
3923
4432
@@ -1443,7 +1443,41 @@
3924
4433
                    {
3925
4434
                      cons->expr->ref = copy_ref (p->ref->next);
4026
4535
     }
4027
4536
Index: gcc/fortran/module.c
4028
4537
===================================================================
4029
 
--- gcc/fortran/module.c        (.../tags/gcc_4_3_2_release)    (revision 140854)
4030
 
+++ gcc/fortran/module.c        (.../branches/gcc-4_3-branch)   (revision 140854)
4031
 
@@ -3603,6 +3603,48 @@
 
4538
--- gcc/fortran/module.c        (.../tags/gcc_4_3_2_release)    (revision 141004)
 
4539
+++ gcc/fortran/module.c        (.../branches/gcc-4_3-branch)   (revision 141004)
 
4540
@@ -3465,11 +3465,14 @@
 
4541
        mio_expr (&tail->expr);
 
4542
       }
 
4543
 
 
4544
-    /* Unused equivalence members have a unique name.  */
 
4545
+    /* Unused equivalence members have a unique name.  In addition, it
 
4546
+       must be checked that the symbol is that from the module.  */
 
4547
     unused = true;
 
4548
     for (eq = head; eq; eq = eq->eq)
 
4549
       {
 
4550
-       if (!check_unique_name (eq->expr->symtree->name))
 
4551
+       if (eq->expr->symtree->n.sym->module
 
4552
+             && strcmp (module_name, eq->expr->symtree->n.sym->module) == 0
 
4553
+             && !check_unique_name (eq->expr->symtree->name))
 
4554
          {
 
4555
            unused = false;
 
4556
            break;
 
4557
@@ -3603,6 +3606,48 @@
4032
4558
 }
4033
4559
 
4034
4560
 
4077
4603
 /* Read a module file.  */
4078
4604
 
4079
4605
 static void
4080
 
@@ -3744,7 +3786,7 @@
 
4606
@@ -3744,7 +3789,7 @@
4081
4607
          if (st != NULL)
4082
4608
            {
4083
4609
              /* Check for ambiguous symbols.  */
4086
4612
                st->ambiguous = 1;
4087
4613
              info->u.rsym.symtree = st;
4088
4614
            }
4089
 
@@ -3753,9 +3795,9 @@
 
4615
@@ -3753,9 +3798,9 @@
4090
4616
              st = gfc_find_symtree (gfc_current_ns->sym_root, name);
4091
4617
 
4092
4618
              /* Delete the symtree if the symbol has been added by a USE
4098
4624
              if (st && (only_flag || info->u.rsym.renamed)
4099
4625
                     && !st->n.sym->attr.use_only
4100
4626
                     && !st->n.sym->attr.use_rename
4101
 
@@ -3791,6 +3833,11 @@
 
4627
@@ -3791,6 +3836,11 @@
4102
4628
              if (strcmp (name, p) != 0)
4103
4629
                sym->attr.use_rename = 1;
4104
4630
 
4110
4636
              /* Store the symtree pointing to this symbol.  */
4111
4637
              info->u.rsym.symtree = st;
4112
4638
 
4113
 
@@ -4233,6 +4280,14 @@
 
4639
@@ -4233,6 +4283,14 @@
4114
4640
   pointer_info *p;
4115
4641
 
4116
4642
   sym = st->n.sym;
4127
4653
          && !sym->attr.subroutine && !sym->attr.function))
4128
4654
Index: gcc/fortran/resolve.c
4129
4655
===================================================================
4130
 
--- gcc/fortran/resolve.c       (.../tags/gcc_4_3_2_release)    (revision 140854)
4131
 
+++ gcc/fortran/resolve.c       (.../branches/gcc-4_3-branch)   (revision 140854)
 
4656
--- gcc/fortran/resolve.c       (.../tags/gcc_4_3_2_release)    (revision 141004)
 
4657
+++ gcc/fortran/resolve.c       (.../branches/gcc-4_3-branch)   (revision 141004)
4132
4658
@@ -1012,6 +1012,38 @@
4133
4659
 }
4134
4660
 
4356
4882
 
4357
4883
Index: gcc/fortran/target-memory.c
4358
4884
===================================================================
4359
 
--- gcc/fortran/target-memory.c (.../tags/gcc_4_3_2_release)    (revision 140854)
4360
 
+++ gcc/fortran/target-memory.c (.../branches/gcc-4_3-branch)   (revision 140854)
 
4885
--- gcc/fortran/target-memory.c (.../tags/gcc_4_3_2_release)    (revision 141004)
 
4886
+++ gcc/fortran/target-memory.c (.../branches/gcc-4_3-branch)   (revision 141004)
4361
4887
@@ -338,8 +338,9 @@
4362
4888
 
4363
4889
 int
4384
4910
   buffer_size = MAX (buffer_size, size_integer (expr->ts.kind));
4385
4911
Index: gcc/fortran/match.c
4386
4912
===================================================================
4387
 
--- gcc/fortran/match.c (.../tags/gcc_4_3_2_release)    (revision 140854)
4388
 
+++ gcc/fortran/match.c (.../branches/gcc-4_3-branch)   (revision 140854)
 
4913
--- gcc/fortran/match.c (.../tags/gcc_4_3_2_release)    (revision 141004)
 
4914
+++ gcc/fortran/match.c (.../branches/gcc-4_3-branch)   (revision 141004)
4389
4915
@@ -2488,9 +2488,12 @@
4390
4916
 
4391
4917
   sym = st->n.sym;
4403
4929
        {
4404
4930
Index: gcc/fortran/primary.c
4405
4931
===================================================================
4406
 
--- gcc/fortran/primary.c       (.../tags/gcc_4_3_2_release)    (revision 140854)
4407
 
+++ gcc/fortran/primary.c       (.../branches/gcc-4_3-branch)   (revision 140854)
 
4932
--- gcc/fortran/primary.c       (.../tags/gcc_4_3_2_release)    (revision 141004)
 
4933
+++ gcc/fortran/primary.c       (.../branches/gcc-4_3-branch)   (revision 141004)
4408
4934
@@ -1785,7 +1785,10 @@
4409
4935
 
4410
4936
        case MATCH_NO:
4419
4945
        case MATCH_ERROR:
4420
4946
Index: gcc/fortran/simplify.c
4421
4947
===================================================================
4422
 
--- gcc/fortran/simplify.c      (.../tags/gcc_4_3_2_release)    (revision 140854)
4423
 
+++ gcc/fortran/simplify.c      (.../branches/gcc-4_3-branch)   (revision 140854)
 
4948
--- gcc/fortran/simplify.c      (.../tags/gcc_4_3_2_release)    (revision 141004)
 
4949
+++ gcc/fortran/simplify.c      (.../branches/gcc-4_3-branch)   (revision 141004)
4424
4950
@@ -763,7 +763,8 @@
4425
4951
        {
4426
4952
        case BT_INTEGER:
4433
4959
        case BT_REAL:
4434
4960
Index: gcc/function.c
4435
4961
===================================================================
4436
 
--- gcc/function.c      (.../tags/gcc_4_3_2_release)    (revision 140854)
4437
 
+++ gcc/function.c      (.../branches/gcc-4_3-branch)   (revision 140854)
 
4962
--- gcc/function.c      (.../tags/gcc_4_3_2_release)    (revision 141004)
 
4963
+++ gcc/function.c      (.../branches/gcc-4_3-branch)   (revision 141004)
4438
4964
@@ -2336,6 +2336,11 @@
4439
4965
   stack_parm = gen_rtx_MEM (data->promoted_mode, stack_parm);
4440
4966
 
4447
4973
 
4448
4974
   boundary = data->locate.boundary;
4449
4975
   align = BITS_PER_UNIT;
 
4976
Index: gcc/expmed.c
 
4977
===================================================================
 
4978
--- gcc/expmed.c        (.../tags/gcc_4_3_2_release)    (revision 141004)
 
4979
+++ gcc/expmed.c        (.../branches/gcc-4_3-branch)   (revision 141004)
 
4980
@@ -3115,7 +3115,8 @@
 
4981
        {
 
4982
          /* If we are multiplying in DImode, it may still be a win
 
4983
             to try to work with shifts and adds.  */
 
4984
-         if (CONST_DOUBLE_HIGH (op1) == 0)
 
4985
+         if (CONST_DOUBLE_HIGH (op1) == 0
 
4986
+             && CONST_DOUBLE_LOW (op1) > 0)
 
4987
            coeff = CONST_DOUBLE_LOW (op1);
 
4988
          else if (CONST_DOUBLE_LOW (op1) == 0
 
4989
                   && EXACT_POWER_OF_2_OR_ZERO_P (CONST_DOUBLE_HIGH (op1)))
4450
4990
Index: gcc/emit-rtl.c
4451
4991
===================================================================
4452
 
--- gcc/emit-rtl.c      (.../tags/gcc_4_3_2_release)    (revision 140854)
4453
 
+++ gcc/emit-rtl.c      (.../branches/gcc-4_3-branch)   (revision 140854)
 
4992
--- gcc/emit-rtl.c      (.../tags/gcc_4_3_2_release)    (revision 141004)
 
4993
+++ gcc/emit-rtl.c      (.../branches/gcc-4_3-branch)   (revision 141004)
4454
4994
@@ -973,7 +973,7 @@
4455
4995
        REG_ATTRS (reg)
4456
4996
          = get_reg_attrs (MEM_EXPR (x), INTVAL (MEM_OFFSET (x)) + offset);
4462
5002
     {
4463
5003
Index: gcc/explow.c
4464
5004
===================================================================
4465
 
--- gcc/explow.c        (.../tags/gcc_4_3_2_release)    (revision 140854)
4466
 
+++ gcc/explow.c        (.../branches/gcc-4_3-branch)   (revision 140854)
 
5005
--- gcc/explow.c        (.../tags/gcc_4_3_2_release)    (revision 141004)
 
5006
+++ gcc/explow.c        (.../branches/gcc-4_3-branch)   (revision 141004)
4467
5007
@@ -696,10 +696,8 @@
4468
5008
 
4469
5009
        align = MIN (sa, ca);
4478
5018
 
4479
5019
Index: gcc/po/ChangeLog
4480
5020
===================================================================
4481
 
--- gcc/po/ChangeLog    (.../tags/gcc_4_3_2_release)    (revision 140854)
4482
 
+++ gcc/po/ChangeLog    (.../branches/gcc-4_3-branch)   (revision 140854)
 
5021
--- gcc/po/ChangeLog    (.../tags/gcc_4_3_2_release)    (revision 141004)
 
5022
+++ gcc/po/ChangeLog    (.../branches/gcc-4_3-branch)   (revision 141004)
4483
5023
@@ -1,3 +1,7 @@
4484
5024
+2008-08-30  Joseph S. Myers  <joseph@codesourcery.com>
4485
5025
+
4491
5031
Index: gcc/po/fi.po
4492
5032
===================================================================
4493
5033
--- gcc/po/fi.po        (.../tags/gcc_4_3_2_release)    (revision 0)
4494
 
+++ gcc/po/fi.po        (.../branches/gcc-4_3-branch)   (revision 140854)
 
5034
+++ gcc/po/fi.po        (.../branches/gcc-4_3-branch)   (revision 141004)
4495
5035
@@ -0,0 +1,33471 @@
4496
5036
+# Finnish translation of GNU Compiler Collection
4497
5037
+# Copyright (C) 2008 Free Software Foundation, Inc.
37966
38506
+#~ msgstr "taulukon %qD alkioilla on vaillinainen tyyppi"
37967
38507
Index: gcc/varasm.c
37968
38508
===================================================================
37969
 
--- gcc/varasm.c        (.../tags/gcc_4_3_2_release)    (revision 140854)
37970
 
+++ gcc/varasm.c        (.../branches/gcc-4_3-branch)   (revision 140854)
 
38509
--- gcc/varasm.c        (.../tags/gcc_4_3_2_release)    (revision 141004)
 
38510
+++ gcc/varasm.c        (.../branches/gcc-4_3-branch)   (revision 141004)
37971
38511
@@ -4021,6 +4021,78 @@
37972
38512
          && !VEC_empty (constructor_elt, CONSTRUCTOR_ELTS (ctor)));
37973
38513
 }
38141
38681
     default:
38142
38682
Index: gcc/sched-int.h
38143
38683
===================================================================
38144
 
--- gcc/sched-int.h     (.../tags/gcc_4_3_2_release)    (revision 140854)
38145
 
+++ gcc/sched-int.h     (.../branches/gcc-4_3-branch)   (revision 140854)
 
38684
--- gcc/sched-int.h     (.../tags/gcc_4_3_2_release)    (revision 141004)
 
38685
+++ gcc/sched-int.h     (.../branches/gcc-4_3-branch)   (revision 141004)
38146
38686
@@ -848,6 +848,7 @@
38147
38687
 extern void unlink_bb_notes (basic_block, basic_block);
38148
38688
 extern void add_block (basic_block, basic_block);
38153
38693
 
38154
38694
Index: gcc/tree-vect-transform.c
38155
38695
===================================================================
38156
 
--- gcc/tree-vect-transform.c   (.../tags/gcc_4_3_2_release)    (revision 140854)
38157
 
+++ gcc/tree-vect-transform.c   (.../branches/gcc-4_3-branch)   (revision 140854)
 
38696
--- gcc/tree-vect-transform.c   (.../tags/gcc_4_3_2_release)    (revision 141004)
 
38697
+++ gcc/tree-vect-transform.c   (.../branches/gcc-4_3-branch)   (revision 141004)
38158
38698
@@ -5489,15 +5489,21 @@
38159
38699
            STMT_VINFO_VEC_STMT (vinfo_for_stmt (next_stmt)) = new_stmt;
38160
38700
          else
38196
38736
       gcc_assert (evolution_part != NULL_TREE);
38197
38737
Index: gcc/c-common.c
38198
38738
===================================================================
38199
 
--- gcc/c-common.c      (.../tags/gcc_4_3_2_release)    (revision 140854)
38200
 
+++ gcc/c-common.c      (.../branches/gcc-4_3-branch)   (revision 140854)
 
38739
--- gcc/c-common.c      (.../tags/gcc_4_3_2_release)    (revision 141004)
 
38740
+++ gcc/c-common.c      (.../branches/gcc-4_3-branch)   (revision 141004)
38201
38741
@@ -5577,7 +5577,9 @@
38202
38742
   /* We must ignore the attribute when it is associated with
38203
38743
      local-scoped decls, since attribute alias is ignored and many
38211
38751
       *no_add_attrs = true;
38212
38752
Index: gcc/tree-ssa-structalias.c
38213
38753
===================================================================
38214
 
--- gcc/tree-ssa-structalias.c  (.../tags/gcc_4_3_2_release)    (revision 140854)
38215
 
+++ gcc/tree-ssa-structalias.c  (.../branches/gcc-4_3-branch)   (revision 140854)
 
38754
--- gcc/tree-ssa-structalias.c  (.../tags/gcc_4_3_2_release)    (revision 141004)
 
38755
+++ gcc/tree-ssa-structalias.c  (.../branches/gcc-4_3-branch)   (revision 141004)
38216
38756
@@ -227,11 +227,6 @@
38217
38757
   /* A link to the variable for the next field in this structure.  */
38218
38758
   struct variable_info *next;
38346
38886
          if (!result)
38347
38887
Index: gcc/config/alpha/alpha.c
38348
38888
===================================================================
38349
 
--- gcc/config/alpha/alpha.c    (.../tags/gcc_4_3_2_release)    (revision 140854)
38350
 
+++ gcc/config/alpha/alpha.c    (.../branches/gcc-4_3-branch)   (revision 140854)
 
38889
--- gcc/config/alpha/alpha.c    (.../tags/gcc_4_3_2_release)    (revision 141004)
 
38890
+++ gcc/config/alpha/alpha.c    (.../branches/gcc-4_3-branch)   (revision 141004)
38351
38891
@@ -4599,8 +4599,6 @@
38352
38892
   enum machine_mode mode = GET_MODE (mem);
38353
38893
   rtx label, x, cond = gen_lowpart (DImode, scratch);
38385
38925
 /* Adjust the cost of a scheduling dependency.  Return the new cost of
38386
38926
Index: gcc/config/spu/spu.c
38387
38927
===================================================================
38388
 
--- gcc/config/spu/spu.c        (.../tags/gcc_4_3_2_release)    (revision 140854)
38389
 
+++ gcc/config/spu/spu.c        (.../branches/gcc-4_3-branch)   (revision 140854)
 
38928
--- gcc/config/spu/spu.c        (.../tags/gcc_4_3_2_release)    (revision 141004)
 
38929
+++ gcc/config/spu/spu.c        (.../branches/gcc-4_3-branch)   (revision 141004)
38390
38930
@@ -54,6 +54,9 @@
38391
38931
 #include "tm-constrs.h"
38392
38932
 #include "spu-builtins.h"
39772
40312
+
39773
40313
Index: gcc/config/spu/spu.h
39774
40314
===================================================================
39775
 
--- gcc/config/spu/spu.h        (.../tags/gcc_4_3_2_release)    (revision 140854)
39776
 
+++ gcc/config/spu/spu.h        (.../branches/gcc-4_3-branch)   (revision 140854)
 
40315
--- gcc/config/spu/spu.h        (.../tags/gcc_4_3_2_release)    (revision 141004)
 
40316
+++ gcc/config/spu/spu.h        (.../branches/gcc-4_3-branch)   (revision 141004)
39777
40317
@@ -50,7 +50,8 @@
39778
40318
 
39779
40319
 /* Default target_flags if no switches specified.  */
39786
40326
 
39787
40327
Index: gcc/config/spu/spu.md
39788
40328
===================================================================
39789
 
--- gcc/config/spu/spu.md       (.../tags/gcc_4_3_2_release)    (revision 140854)
39790
 
+++ gcc/config/spu/spu.md       (.../branches/gcc-4_3-branch)   (revision 140854)
 
40329
--- gcc/config/spu/spu.md       (.../tags/gcc_4_3_2_release)    (revision 141004)
 
40330
+++ gcc/config/spu/spu.md       (.../branches/gcc-4_3-branch)   (revision 141004)
39791
40331
@@ -4249,12 +4249,23 @@
39792
40332
   "lnop"
39793
40333
   [(set_attr "type" "lnop")])
39816
40356
        (unspec:SI [(match_operand:SI 0 "immediate_operand" "i,i,i")
39817
40357
Index: gcc/config/spu/spu.opt
39818
40358
===================================================================
39819
 
--- gcc/config/spu/spu.opt      (.../tags/gcc_4_3_2_release)    (revision 140854)
39820
 
+++ gcc/config/spu/spu.opt      (.../branches/gcc-4_3-branch)   (revision 140854)
 
40359
--- gcc/config/spu/spu.opt      (.../tags/gcc_4_3_2_release)    (revision 141004)
 
40360
+++ gcc/config/spu/spu.opt      (.../branches/gcc-4_3-branch)   (revision 141004)
39821
40361
@@ -35,6 +35,14 @@
39822
40362
 Target Report RejectNegative InverseMask(SAFE_DMA)
39823
40363
 volatile must be specified on any memory that is effected by DMA
39861
40401
 Generate code for given CPU
39862
40402
Index: gcc/config/spu/spu_mfcio.h
39863
40403
===================================================================
39864
 
--- gcc/config/spu/spu_mfcio.h  (.../tags/gcc_4_3_2_release)    (revision 140854)
39865
 
+++ gcc/config/spu/spu_mfcio.h  (.../branches/gcc-4_3-branch)   (revision 140854)
 
40404
--- gcc/config/spu/spu_mfcio.h  (.../tags/gcc_4_3_2_release)    (revision 141004)
 
40405
+++ gcc/config/spu/spu_mfcio.h  (.../branches/gcc-4_3-branch)   (revision 141004)
39866
40406
@@ -289,7 +289,35 @@
39867
40407
 #define spu_write_srr0(srr0)          spu_writech(SPU_WrSRR0,srr0)
39868
40408
 #define spu_read_srr0()               spu_readch(SPU_RdSRR0)
39901
40441
 #define MFC_TAG_INVALID 0xFFFFFFFF
39902
40442
Index: gcc/config/i386/i386.md
39903
40443
===================================================================
39904
 
--- gcc/config/i386/i386.md     (.../tags/gcc_4_3_2_release)    (revision 140854)
39905
 
+++ gcc/config/i386/i386.md     (.../branches/gcc-4_3-branch)   (revision 140854)
 
40444
--- gcc/config/i386/i386.md     (.../tags/gcc_4_3_2_release)    (revision 141004)
 
40445
+++ gcc/config/i386/i386.md     (.../branches/gcc-4_3-branch)   (revision 141004)
39906
40446
@@ -15210,7 +15210,7 @@
39907
40447
 
39908
40448
 (define_insn "clzsi2_abm"
39959
40499
   "popcnt{w}\t{%1, %0|%0, %1}"
39960
40500
Index: gcc/config/i386/mmx.md
39961
40501
===================================================================
39962
 
--- gcc/config/i386/mmx.md      (.../tags/gcc_4_3_2_release)    (revision 140854)
39963
 
+++ gcc/config/i386/mmx.md      (.../branches/gcc-4_3-branch)   (revision 140854)
 
40502
--- gcc/config/i386/mmx.md      (.../tags/gcc_4_3_2_release)    (revision 141004)
 
40503
+++ gcc/config/i386/mmx.md      (.../branches/gcc-4_3-branch)   (revision 141004)
39964
40504
@@ -485,10 +485,12 @@
39965
40505
   DONE;
39966
40506
 })
40050
40590
   [(set (match_operand:SI 0 "register_operand" "")
40051
40591
Index: gcc/config/i386/sse.md
40052
40592
===================================================================
40053
 
--- gcc/config/i386/sse.md      (.../tags/gcc_4_3_2_release)    (revision 140854)
40054
 
+++ gcc/config/i386/sse.md      (.../branches/gcc-4_3-branch)   (revision 140854)
 
40593
--- gcc/config/i386/sse.md      (.../tags/gcc_4_3_2_release)    (revision 141004)
 
40594
+++ gcc/config/i386/sse.md      (.../branches/gcc-4_3-branch)   (revision 141004)
40055
40595
@@ -1521,10 +1521,12 @@
40056
40596
   DONE;
40057
40597
 })
40186
40726
   [(set (match_operand:V2DF 0 "memory_operand" "")
40187
40727
Index: gcc/config/i386/i386.c
40188
40728
===================================================================
40189
 
--- gcc/config/i386/i386.c      (.../tags/gcc_4_3_2_release)    (revision 140854)
40190
 
+++ gcc/config/i386/i386.c      (.../branches/gcc-4_3-branch)   (revision 140854)
 
40729
--- gcc/config/i386/i386.c      (.../tags/gcc_4_3_2_release)    (revision 141004)
 
40730
+++ gcc/config/i386/i386.c      (.../branches/gcc-4_3-branch)   (revision 141004)
40191
40731
@@ -11332,6 +11332,10 @@
40192
40732
       if (req_mode == CCZmode)
40193
40733
        return 0;
40201
40741
 
40202
40742
Index: gcc/config/avr/avr.md
40203
40743
===================================================================
40204
 
--- gcc/config/avr/avr.md       (.../tags/gcc_4_3_2_release)    (revision 140854)
40205
 
+++ gcc/config/avr/avr.md       (.../branches/gcc-4_3-branch)   (revision 140854)
 
40744
--- gcc/config/avr/avr.md       (.../tags/gcc_4_3_2_release)    (revision 141004)
 
40745
+++ gcc/config/avr/avr.md       (.../branches/gcc-4_3-branch)   (revision 141004)
40206
40746
@@ -306,10 +306,11 @@
40207
40747
 
40208
40748
 
40219
40759
   [(parallel [(set (match_dup 0) (match_dup 1))
40220
40760
Index: gcc/config/xtensa/xtensa.md
40221
40761
===================================================================
40222
 
--- gcc/config/xtensa/xtensa.md (.../tags/gcc_4_3_2_release)    (revision 140854)
40223
 
+++ gcc/config/xtensa/xtensa.md (.../branches/gcc-4_3-branch)   (revision 140854)
 
40762
--- gcc/config/xtensa/xtensa.md (.../tags/gcc_4_3_2_release)    (revision 141004)
 
40763
+++ gcc/config/xtensa/xtensa.md (.../branches/gcc-4_3-branch)   (revision 141004)
40224
40764
@@ -217,10 +217,11 @@
40225
40765
                 (any_extend:DI (match_operand:SI 2 "register_operand"))))]
40226
40766
   "TARGET_MUL32_HIGH"
40237
40777
 
40238
40778
Index: gcc/config/rs6000/predicates.md
40239
40779
===================================================================
40240
 
--- gcc/config/rs6000/predicates.md     (.../tags/gcc_4_3_2_release)    (revision 140854)
40241
 
+++ gcc/config/rs6000/predicates.md     (.../branches/gcc-4_3-branch)   (revision 140854)
 
40780
--- gcc/config/rs6000/predicates.md     (.../tags/gcc_4_3_2_release)    (revision 141004)
 
40781
+++ gcc/config/rs6000/predicates.md     (.../branches/gcc-4_3-branch)   (revision 141004)
40242
40782
@@ -1,5 +1,5 @@
40243
40783
 ;; Predicate definitions for POWER and PowerPC.
40244
40784
-;; Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
40259
40799
 
40260
40800
Index: gcc/config/rs6000/rs6000-protos.h
40261
40801
===================================================================
40262
 
--- gcc/config/rs6000/rs6000-protos.h   (.../tags/gcc_4_3_2_release)    (revision 140854)
40263
 
+++ gcc/config/rs6000/rs6000-protos.h   (.../branches/gcc-4_3-branch)   (revision 140854)
 
40802
--- gcc/config/rs6000/rs6000-protos.h   (.../tags/gcc_4_3_2_release)    (revision 141004)
 
40803
+++ gcc/config/rs6000/rs6000-protos.h   (.../branches/gcc-4_3-branch)   (revision 141004)
40264
40804
@@ -1,5 +1,5 @@
40265
40805
 /* Definitions of target machine for GNU compiler, for IBM RS/6000.
40266
40806
-   Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
40278
40818
 extern int num_insns_constant_wide (HOST_WIDE_INT);
40279
40819
Index: gcc/config/rs6000/rs6000.c
40280
40820
===================================================================
40281
 
--- gcc/config/rs6000/rs6000.c  (.../tags/gcc_4_3_2_release)    (revision 140854)
40282
 
+++ gcc/config/rs6000/rs6000.c  (.../branches/gcc-4_3-branch)   (revision 140854)
 
40821
--- gcc/config/rs6000/rs6000.c  (.../tags/gcc_4_3_2_release)    (revision 141004)
 
40822
+++ gcc/config/rs6000/rs6000.c  (.../branches/gcc-4_3-branch)   (revision 141004)
40283
40823
@@ -2545,7 +2545,7 @@
40284
40824
    corresponding element of the vector, but for V4SFmode and V2SFmode,
40285
40825
    the corresponding "float" is interpreted as an SImode integer.  */
40335
40875
 
40336
40876
Index: gcc/config/rs6000/altivec.md
40337
40877
===================================================================
40338
 
--- gcc/config/rs6000/altivec.md        (.../tags/gcc_4_3_2_release)    (revision 140854)
40339
 
+++ gcc/config/rs6000/altivec.md        (.../branches/gcc-4_3-branch)   (revision 140854)
 
40878
--- gcc/config/rs6000/altivec.md        (.../tags/gcc_4_3_2_release)    (revision 141004)
 
40879
+++ gcc/config/rs6000/altivec.md        (.../branches/gcc-4_3-branch)   (revision 141004)
40340
40880
@@ -1,5 +1,5 @@
40341
40881
 ;; AltiVec patterns.
40342
40882
-;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007
40383
40923
 })
40384
40924
 
40385
40925
 (define_insn "get_vrsave_internal"
 
40926
Index: gcc/config/pa/pa.c
 
40927
===================================================================
 
40928
--- gcc/config/pa/pa.c  (.../tags/gcc_4_3_2_release)    (revision 141004)
 
40929
+++ gcc/config/pa/pa.c  (.../branches/gcc-4_3-branch)   (revision 141004)
 
40930
@@ -715,8 +715,8 @@
 
40931
 
 
40932
       if (function_label_operand (orig, mode))
 
40933
        {
 
40934
-         /* Force function label into memory.  */
 
40935
-         orig = XEXP (force_const_mem (mode, orig), 0);
 
40936
+         /* Force function label into memory in word mode.  */
 
40937
+         orig = XEXP (force_const_mem (word_mode, orig), 0);
 
40938
          /* Load plabel address from DLT.  */
 
40939
          emit_move_insn (tmp_reg,
 
40940
                          gen_rtx_PLUS (word_mode, pic_offset_table_rtx,
 
40941
Index: gcc/config/freebsd.h
 
40942
===================================================================
 
40943
--- gcc/config/freebsd.h        (.../tags/gcc_4_3_2_release)    (revision 141004)
 
40944
+++ gcc/config/freebsd.h        (.../branches/gcc-4_3-branch)   (revision 141004)
 
40945
@@ -55,6 +55,8 @@
 
40946
 #undef  LIB_SPEC
 
40947
 #define LIB_SPEC FBSD_LIB_SPEC
 
40948
 
 
40949
+/* Define this so we can compile MS code for use with WINE.  */
 
40950
+#define HANDLE_PRAGMA_PACK_PUSH_POP 1
 
40951
 
 
40952
 /************************[  Target stuff  ]***********************************/
 
40953
 
40386
40954
Index: gcc/dfp.c
40387
40955
===================================================================
40388
 
--- gcc/dfp.c   (.../tags/gcc_4_3_2_release)    (revision 140854)
40389
 
+++ gcc/dfp.c   (.../branches/gcc-4_3-branch)   (revision 140854)
 
40956
--- gcc/dfp.c   (.../tags/gcc_4_3_2_release)    (revision 141004)
 
40957
+++ gcc/dfp.c   (.../branches/gcc-4_3-branch)   (revision 141004)
40390
40958
@@ -50,8 +50,6 @@
40391
40959
   memset (r, 0, sizeof (REAL_VALUE_TYPE));
40392
40960
 
40398
40966
   if (decNumberIsInfinite (dn))
40399
40967
Index: gcc/tree-ssa-operands.c
40400
40968
===================================================================
40401
 
--- gcc/tree-ssa-operands.c     (.../tags/gcc_4_3_2_release)    (revision 140854)
40402
 
+++ gcc/tree-ssa-operands.c     (.../branches/gcc-4_3-branch)   (revision 140854)
 
40969
--- gcc/tree-ssa-operands.c     (.../tags/gcc_4_3_2_release)    (revision 141004)
 
40970
+++ gcc/tree-ssa-operands.c     (.../branches/gcc-4_3-branch)   (revision 141004)
40403
40971
@@ -1347,11 +1347,12 @@
40404
40972
           && flag_strict_aliasing
40405
40973
           && TREE_CODE (ref) != INDIRECT_REF
40416
40984
       fprintf (stderr, "Access to ");
40417
40985
Index: libffi/src/powerpc/ffitarget.h
40418
40986
===================================================================
40419
 
--- libffi/src/powerpc/ffitarget.h      (.../tags/gcc_4_3_2_release)    (revision 140854)
40420
 
+++ libffi/src/powerpc/ffitarget.h      (.../branches/gcc-4_3-branch)   (revision 140854)
 
40987
--- libffi/src/powerpc/ffitarget.h      (.../tags/gcc_4_3_2_release)    (revision 141004)
 
40988
+++ libffi/src/powerpc/ffitarget.h      (.../branches/gcc-4_3-branch)   (revision 141004)
40421
40989
@@ -1,6 +1,6 @@
40422
40990
 /* -----------------------------------------------------------------*-C-*-
40423
40991
    ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
40448
41016
 #if defined(POWERPC64) || defined(POWERPC_AIX)
40449
41017
Index: libffi/src/powerpc/ffi.c
40450
41018
===================================================================
40451
 
--- libffi/src/powerpc/ffi.c    (.../tags/gcc_4_3_2_release)    (revision 140854)
40452
 
+++ libffi/src/powerpc/ffi.c    (.../branches/gcc-4_3-branch)   (revision 140854)
 
41019
--- libffi/src/powerpc/ffi.c    (.../tags/gcc_4_3_2_release)    (revision 141004)
 
41020
+++ libffi/src/powerpc/ffi.c    (.../branches/gcc-4_3-branch)   (revision 141004)
40453
41021
@@ -1,6 +1,6 @@
40454
41022
 /* -----------------------------------------------------------------------
40455
41023
    ffi.c - Copyright (c) 1998 Geoffrey Keating
40506
41074
           && cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
40507
41075
Index: libffi/ChangeLog
40508
41076
===================================================================
40509
 
--- libffi/ChangeLog    (.../tags/gcc_4_3_2_release)    (revision 140854)
40510
 
+++ libffi/ChangeLog    (.../branches/gcc-4_3-branch)   (revision 140854)
 
41077
--- libffi/ChangeLog    (.../tags/gcc_4_3_2_release)    (revision 141004)
 
41078
+++ libffi/ChangeLog    (.../branches/gcc-4_3-branch)   (revision 141004)
40511
41079
@@ -1,3 +1,16 @@
40512
41080
+2008-09-10  Andreas Tobler  <a.tobler@schweiz.org>
40513
41081
+
40527
41095
        * GCC 4.3.2 released.
40528
41096
Index: libjava/classpath/tools/gnu/classpath/tools/javah/ClassWrapper.java
40529
41097
===================================================================
40530
 
--- libjava/classpath/tools/gnu/classpath/tools/javah/ClassWrapper.java (.../tags/gcc_4_3_2_release)    (revision 140854)
40531
 
+++ libjava/classpath/tools/gnu/classpath/tools/javah/ClassWrapper.java (.../branches/gcc-4_3-branch)   (revision 140854)
 
41098
--- libjava/classpath/tools/gnu/classpath/tools/javah/ClassWrapper.java (.../tags/gcc_4_3_2_release)    (revision 141004)
 
41099
+++ libjava/classpath/tools/gnu/classpath/tools/javah/ClassWrapper.java (.../branches/gcc-4_3-branch)   (revision 141004)
40532
41100
@@ -217,7 +217,18 @@
40533
41101
         MethodNode m = (MethodNode) i.next();
40534
41102
         String desc = MethodHelper.getBridgeTarget(m);
40569
41137
        else
40570
41138
          nameToUse = Keywords.getCxxName(m.name);
40571
41139
        methodNameMap.put(sum, nameToUse);
40572
 
Index: libjava/classpath/tools/classes/gnu/classpath/tools/javah/ClassWrapper.class
40573
 
===================================================================
40574
 
Cannot display: file marked as a binary type.
40575
 
svn:mime-type = application/octet-stream
40576
41140
Index: libjava/classpath/ChangeLog.gcj
40577
41141
===================================================================
40578
 
--- libjava/classpath/ChangeLog.gcj     (.../tags/gcc_4_3_2_release)    (revision 140854)
40579
 
+++ libjava/classpath/ChangeLog.gcj     (.../branches/gcc-4_3-branch)   (revision 140854)
 
41142
--- libjava/classpath/ChangeLog.gcj     (.../tags/gcc_4_3_2_release)    (revision 141004)
 
41143
+++ libjava/classpath/ChangeLog.gcj     (.../branches/gcc-4_3-branch)   (revision 141004)
40580
41144
@@ -1,3 +1,15 @@
40581
41145
+2008-09-14  Matthias Klose  <doko@ubuntu.com>
40582
41146
+