Mailinglist Archive: opensuse-commit (1093 mails)

< Previous Next >
commit gcc45 for openSUSE:Factory
  • From: root@xxxxxxxxxxxxxxx (h_root)
  • Date: Thu, 18 Mar 2010 22:51:46 +0100
  • Message-id: <20100318215146.F382B20299@xxxxxxxxxxxxxxx>

Hello community,

here is the log from the commit of package gcc45 for openSUSE:Factory
checked in at Thu Mar 18 22:51:46 CET 2010.



--------
--- gcc45/cross-avr-gcc45.changes 2010-03-12 14:56:10.000000000 +0100
+++ gcc45/cross-avr-gcc45.changes 2010-03-18 14:32:15.000000000 +0100
@@ -1,0 +2,5 @@
+Thu Mar 18 14:27:02 CET 2010 - matz@xxxxxxx
+
+- Add patch for PR43402, miscompilation of libicu.
+
+-------------------------------------------------------------------
cross-hppa-gcc-icecream-backend.changes: same change
cross-i386-gcc-icecream-backend.changes: same change
cross-ia64-gcc-icecream-backend.changes: same change
cross-ppc-gcc-icecream-backend.changes: same change
cross-ppc64-gcc-icecream-backend.changes: same change
cross-s390-gcc-icecream-backend.changes: same change
cross-s390x-gcc-icecream-backend.changes: same change
cross-spu-gcc45-static.changes: same change
cross-spu-gcc45.changes: same change
cross-x86_64-gcc-icecream-backend.changes: same change
gcc45-testresults.changes: same change
gcc45.changes: same change
libffi45.changes: same change
libgcj45.changes: same change

calling whatdependson for head-i586


New:
----
pr43402.diff

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ cross-avr-gcc45.spec ++++++
--- /var/tmp/diff_new_pack.eaY4rH/_old 2010-03-18 22:50:40.000000000 +0100
+++ /var/tmp/diff_new_pack.eaY4rH/_new 2010-03-18 22:50:40.000000000 +0100
@@ -74,7 +74,7 @@

Url: http://gcc.gnu.org/
Version: 4.5.0_20100311
-Release: 1
+Release: 2
%define gcc_version %(echo %version | sed 's/_.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
%define snapshot_date %(echo %version | sed 's/[34]\.[0-9]\.[0-6]//' | sed
's/_/-/')
@@ -107,6 +107,7 @@
Patch29: build-id.diff
Patch30: gcc43-no-unwind-tables.diff
Patch31: pr43270.diff
+Patch32: pr43402.diff
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -193,6 +194,7 @@
%endif
%patch30
%patch31
+%patch32
%patch51
%patch55
%patch57

cross-hppa-gcc-icecream-backend.spec: same change
cross-i386-gcc-icecream-backend.spec: same change
cross-ia64-gcc-icecream-backend.spec: same change
cross-ppc-gcc-icecream-backend.spec: same change
cross-ppc64-gcc-icecream-backend.spec: same change
cross-s390-gcc-icecream-backend.spec: same change
cross-s390x-gcc-icecream-backend.spec: same change
cross-spu-gcc45-static.spec: same change
cross-spu-gcc45.spec: same change
cross-x86_64-gcc-icecream-backend.spec: same change
gcc45-testresults.spec: same change
gcc45.spec: same change
libffi45.spec: same change
libgcj45.spec: same change

++++++ gcc.spec.in ++++++
--- /var/tmp/diff_new_pack.eaY4rH/_old 2010-03-18 22:50:42.000000000 +0100
+++ /var/tmp/diff_new_pack.eaY4rH/_new 2010-03-18 22:50:42.000000000 +0100
@@ -206,6 +206,7 @@
Patch29: build-id.diff
Patch30: gcc43-no-unwind-tables.diff
Patch31: pr43270.diff
+Patch32: pr43402.diff
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -951,6 +952,7 @@
%endif
%patch30
%patch31
+%patch32
%patch51
%patch55
%patch57

++++++ pr43402.diff ++++++
PR tree-optimization/43402
* tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
PHI chains of ssa names registered for update.

testsuite/
* gcc.dg/pr43402.c: New testcase.

Index: gcc/tree-cfgcleanup.c
===================================================================
--- gcc/tree-cfgcleanup.c (revision 157458)
+++ gcc/tree-cfgcleanup.c (working copy)
@@ -103,20 +103,28 @@ cleanup_control_expr_graph (basic_block
/* For conditions try harder and lookup single-argument
PHI nodes. Only do so from the same basic-block though
as other basic-blocks may be dead already. */
- if (TREE_CODE (lhs) == SSA_NAME)
+ if (TREE_CODE (lhs) == SSA_NAME
+ && !name_registered_for_update_p (lhs))
{
gimple def_stmt = SSA_NAME_DEF_STMT (lhs);
if (gimple_code (def_stmt) == GIMPLE_PHI
&& gimple_phi_num_args (def_stmt) == 1
- && gimple_bb (def_stmt) == gimple_bb (stmt))
+ && gimple_bb (def_stmt) == gimple_bb (stmt)
+ && (TREE_CODE (PHI_ARG_DEF (def_stmt, 0)) != SSA_NAME
+ || !name_registered_for_update_p (PHI_ARG_DEF (def_stmt,
+ 0))))
lhs = PHI_ARG_DEF (def_stmt, 0);
}
- if (TREE_CODE (rhs) == SSA_NAME)
+ if (TREE_CODE (rhs) == SSA_NAME
+ && !name_registered_for_update_p (rhs))
{
gimple def_stmt = SSA_NAME_DEF_STMT (rhs);
if (gimple_code (def_stmt) == GIMPLE_PHI
&& gimple_phi_num_args (def_stmt) == 1
- && gimple_bb (def_stmt) == gimple_bb (stmt))
+ && gimple_bb (def_stmt) == gimple_bb (stmt)
+ && (TREE_CODE (PHI_ARG_DEF (def_stmt, 0)) != SSA_NAME
+ || !name_registered_for_update_p (PHI_ARG_DEF (def_stmt,
+ 0))))
rhs = PHI_ARG_DEF (def_stmt, 0);
}
val = fold_binary_loc (loc, gimple_cond_code (stmt),
Index: gcc/testsuite/gcc.dg/pr43402.c
===================================================================
--- gcc/testsuite/gcc.dg/pr43402.c (revision 0)
+++ gcc/testsuite/gcc.dg/pr43402.c (revision 0)
@@ -0,0 +1,58 @@
+/* { dg-do run } */
+/* { dg-options "-O1 -fno-inline" } */
+extern void abort (void);
+
+static int something;
+
+static int * converterData[2]={
+ &something, &something,
+};
+
+static struct {
+ const char *name;
+ int type;
+} const cnvNameType[] = {
+ { "bocu1", 1 },
+ { "utf7", 1 },
+ { "utf8", 1 }
+};
+
+
+const int * getAlgorithmicTypeFromName(const char *realName);
+const int *
+getAlgorithmicTypeFromName(const char *realName)
+{
+ unsigned mid, start, limit;
+ unsigned lastMid;
+ int result;
+ start = 0;
+ limit = sizeof(cnvNameType)/sizeof(cnvNameType[0]);
+ mid = limit;
+ lastMid = 0xffffffff;
+
+ for (;;) {
+ mid = (start + limit) / 2;
+ if (lastMid == mid) { /* Have we moved? */
+ break; /* We haven't moved, and it wasn't found. */
+ }
+ lastMid = mid;
+ result = __builtin_strcmp(realName, cnvNameType[mid].name);
+
+ if (result < 0) {
+ limit = mid;
+ } else if (result > 0) {
+ start = mid;
+ } else {
+ return converterData[cnvNameType[mid].type];
+ }
+ }
+
+ return 0;
+}
+
+int main (void)
+{
+ if (!getAlgorithmicTypeFromName ("utf8"))
+ abort ();
+ return 0;
+}

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-commit+help@xxxxxxxxxxxx

< Previous Next >
This Thread