rpms/gcc/devel gcc44-diff.patch,NONE,1.1 gcc.spec,1.20,1.21

Jakub Jelinek jakub at fedoraproject.org
Tue Feb 17 17:57:27 UTC 2009


Author: jakub

Update of /cvs/pkgs/rpms/gcc/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv12226

Modified Files:
	gcc.spec 
Added Files:
	gcc44-diff.patch 
Log Message:
4.4.0-0.20

gcc44-diff.patch:

--- NEW FILE gcc44-diff.patch ---
--- gcc/DATESTAMP	(revision 144236)
+++ gcc/DATESTAMP	(revision 144237)
@@ -1 +1 @@
-20090216
+20090217
--- gcc/ChangeLog	(revision 144236)
+++ gcc/ChangeLog	(revision 144237)
@@ -1,3 +1,36 @@
+2009-02-17  Richard Guenther  <rguenther at suse.de>
+
+	PR tree-optimization/39202
+	* tree-ssa-structalias.c (do_structure_copy): Before collapsing
+	a var make sure to follow existing collapses.
+
+2009-02-17  Richard Guenther  <rguenther at suse.de>
+
+	PR middle-end/39214
+	* langhooks.c (lhd_print_error_function): Check for NULL block.
+
+2009-02-17  Richard Guenther  <rguenther at suse.de>
+
+	PR tree-optimization/39204
+	* tree-ssa-pre.c (phi_translate_1): Lookup the value-number
+	of the PHI arg.
+
+2009-02-17  Uros Bizjak  <ubizjak at gmail.com>
+
+	* config/soft-fp/double.h: Update from glibc CVS.
+
+2009-02-17  Richard Guenther  <rguenther at suse.de>
+
+	PR tree-optimization/39207
+	* tree-ssa-structalias.c (find_what_p_points_to): Do not emit
+	strict-aliasing warnings for pointers pointing to NULL.
+
+2009-02-16  Joseph Myers  <joseph at codesourcery.com>
+
+	PR c/35446
+	* c-parser.c (c_parser_braced_init): Call pop_init_level when
+	skipping until next close brace.
+
 2009-02-16  H.J. Lu  <hongjiu.lu at intel.com>
 
 	PR target/37049
--- gcc/testsuite/gcc.c-torture/compile/pr39202.c	(revision 0)
+++ gcc/testsuite/gcc.c-torture/compile/pr39202.c	(revision 144237)
@@ -0,0 +1,33 @@
+typedef struct
+{
+  union
+    {
+      int * aaa;
+    } u;
+} t_a;
+
+typedef struct
+{
+  unsigned bbb : 1;
+} t_b;
+
+typedef struct
+{
+  int ccc;
+  t_a ddd;
+  t_b eee;
+  int fff;
+} t_c;
+
+typedef struct t_d
+{
+  t_c f1;
+  t_c f2;
+} t_d;
+
+void foo (void)
+{
+  t_d ggg;
+  ggg.f1 = ggg.f2;
+}
+
--- gcc/testsuite/gcc.dg/torture/pr39204.c	(revision 0)
+++ gcc/testsuite/gcc.dg/torture/pr39204.c	(revision 144237)
@@ -0,0 +1,131 @@
+/* { dg-do compile } */
+/* { dg-options "-w" } */
+
+typedef unsigned int size_t;
+typedef unsigned char __u_char;
+typedef unsigned short int __u_short;
+typedef unsigned int __u_int;
+typedef unsigned long int __u_long;
+typedef signed char __int8_t;
+typedef unsigned char __uint8_t;
+typedef signed short int __int16_t;
+typedef unsigned short int __uint16_t;
+typedef signed int __int32_t;
+typedef unsigned int __uint32_t;
+__extension__ typedef signed long long int __int64_t;
+__extension__ typedef unsigned long long int __uint64_t;
+__extension__ typedef long long int __quad_t;
+__extension__ typedef unsigned long long int __u_quad_t;
+__extension__ typedef __u_quad_t __dev_t;
+__extension__ typedef unsigned int __uid_t;
+__extension__ typedef unsigned int __gid_t;
+__extension__ typedef unsigned long int __ino_t;
+__extension__ typedef __u_quad_t __ino64_t;
+__extension__ typedef unsigned int __mode_t;
+__extension__ typedef unsigned int __nlink_t;
+__extension__ typedef long int __off_t;
+__extension__ typedef __quad_t __off64_t;
+__extension__ typedef int __pid_t;
+__extension__ typedef struct {
+    int __val[2];
+} __fsid_t;
+__extension__ typedef long int __clock_t;
+__extension__ typedef unsigned int __id_t;
+typedef struct _IO_FILE FILE;
+typedef struct _IO_FILE __FILE;
+typedef struct {
+    int __count;
+    union   {
+	unsigned int __wch;
+	char __wchb[4];
+    }
+    __value;
+} __mbstate_t;
+typedef struct {
+    __off_t __pos;
+    __mbstate_t __state;
+} _G_fpos_t;
+typedef struct {
+    __off64_t __pos;
+    __mbstate_t __state;
+} _G_fpos64_t;
+typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
+typedef struct _IO_FILE _IO_FILE;
+extern struct _IO_FILE_plus _IO_2_1_stderr_;
+extern int fputs (__const char *__restrict __s, FILE * __restrict __stream);
+extern char *strstr (__const char *__haystack, __const char *__needle)
+     __attribute__ ((__nonnull__ (1, 2)));
+     extern char *rindex (__const char *__s, int __c)   __attribute__ ((__nonnull__ (1)));
+extern size_t strlen (__const char *__s) __attribute__ ((__nothrow__))
+     __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
+     char *mystrlwr (char *string);
+     char *m_replace_filename (const char *path, const char *filename);
+     typedef struct LINE {
+	 char *text;
+	 struct LINE *next;
+	 int flags;
+     } LINE;
+typedef struct TOC {
+    char *text;
+    char *alt;
+    struct TOC *next;
+    int root;
+    int texinfoable;
+    int htmlable;
+    int otherfile;
+} TOC;
+static int _empty_count;
+extern char *_word_substitution[256];
+static void _output_sorted_nested_toc (TOC ** list, unsigned int num_items);
+static char *_do_text_substitution (char *input);
+static int _toc_scmp (const void *e1, const void *e2)
+{
+  TOC *t1 = *((TOC **) e1);
+  TOC *t2 = *((TOC **) e2);
+  return mystricmp (t1->text, t2->text);
+}
+static void _output_buffered_text (void) { if (_empty_count) ; }
+void _post_process_filename (char *filename)
+{
+  int code_scanning = 0;
+  char *new_filename, *p;
+  char *line;
+  FILE *f1 = 0, *f2 = 0;
+  if (!new_filename || strlen (new_filename) < 2)
+    new_filename[strlen (filename) - 1] = 'x';
+  if (!f1 || !f2)
+    while ((line = m_fgets (f1)))
+      {
+	line = _do_text_substitution (line);
+	fputs (line, f2);
+      }
+  if (remove (filename))
+    cancel:
+	if (f1)
+	  if (f2)
+	    if (new_filename)
+	      ;
+}
+static void _close_html_file (FILE * file)
+{
+  int f;
+  for (f = 0; _word_substitution[f]; f++)
+    ;
+}
+static __attribute__((always_inline))
+char * _do_text_substitution (char *input)
+{
+  int start, end, middle, f;
+  char *temp, *found, *reader;
+  for (f = 0; _word_substitution[f]; f++)
+    {
+      reader = input;
+      while ((found = strstr (reader, _word_substitution[f])))
+	{
+	  start = found - input;
+	  input = temp;
+	  reader = temp + start + middle;
+	}
+    }
+  return input;
+}
--- gcc/testsuite/gcc.dg/noncompile/init-5.c	(revision 0)
+++ gcc/testsuite/gcc.dg/noncompile/init-5.c	(revision 144237)
@@ -0,0 +1,4 @@
+/* Test for ICE after syntax error in initializer with range
+   designator: PR 35446.  */
+
+int a[2][2] = { [0 ... 1] = { ; } }; /* { dg-error "expected expression" } */
--- gcc/testsuite/gcc.dg/init-bad-4.c	(revision 144236)
+++ gcc/testsuite/gcc.dg/init-bad-4.c	(revision 144237)
@@ -2,4 +2,4 @@
 /* Origin: Richard Guenther <rguenth at gcc.gnu.org> */
 /* { dg-do compile } */
 
-struct A { } a = (struct A) {{ (X)0 }};  /* { dg-error "no members|extra brace|near|undeclared|constant|compound" } */
+struct A { } a = (struct A) {{ (X)0 }};  /* { dg-error "no members|extra brace|near|undeclared|constant|compound|excess" } */
--- gcc/testsuite/gcc.dg/vect/vect-outer-5.c	(revision 144236)
+++ gcc/testsuite/gcc.dg/vect/vect-outer-5.c	(revision 144237)
@@ -1,4 +1,4 @@
-/* { dg-require-effective-target vect_int } */
+/* { dg-require-effective-target vect_float } */
 
 #include <stdio.h>
 #include <stdarg.h>
--- gcc/testsuite/gcc.dg/vect/vect-outer-6.c	(revision 144236)
+++ gcc/testsuite/gcc.dg/vect/vect-outer-6.c	(revision 144237)
@@ -1,4 +1,4 @@
-/* { dg-require-effective-target vect_int } */
+/* { dg-require-effective-target vect_float } */
 
 #include <stdarg.h>
 #include <signal.h>
--- gcc/testsuite/ChangeLog	(revision 144236)
+++ gcc/testsuite/ChangeLog	(revision 144237)
@@ -1,3 +1,24 @@
+2009-02-17  Richard Guenther  <rguenther at suse.de>
+
+	PR tree-optimization/39202
+	* gcc.c-torture/compile/pr39202.c: New testcase.
+
+2009-02-17  Richard Guenther  <rguenther at suse.de>
+
+	PR tree-optimization/39204
+	* gcc.dg/torture/pr39204.c: New testcase.
+
+2009-02-17  Bingfeng Mei <bmei at broadcom.com>
+
+	* gcc.dg/vect/vect-outer-5.c: Require vect_float support.
+	* gcc.dg/vect/vect-outer-6.c: Ditto.
+
+2009-02-16  Joseph Myers  <joseph at codesourcery.com>
+
+	PR c/35446
+	* gcc.dg/noncompile/init-5.c: New test.
+	* gcc.dg/init-bad-4.c: Adjust expected errors.
+
 2009-02-16  H.J. Lu  <hongjiu.lu at intel.com>
 
 	PR target/37049
--- gcc/langhooks.c	(revision 144236)
+++ gcc/langhooks.c	(revision 144237)
@@ -437,7 +437,7 @@ lhd_print_error_function (diagnostic_con
 		  while (block && TREE_CODE (block) == BLOCK)
 		    block = BLOCK_SUPERCONTEXT (block);
 
-		  if (TREE_CODE (block) == FUNCTION_DECL)
+		  if (block && TREE_CODE (block) == FUNCTION_DECL)
 		    fndecl = block;
 		  abstract_origin = NULL;
 		}
--- gcc/tree-ssa-pre.c	(revision 144236)
+++ gcc/tree-ssa-pre.c	(revision 144237)
@@ -1707,6 +1707,9 @@ phi_translate_1 (pre_expr expr, bitmap_s
 	    tree def = PHI_ARG_DEF (phi, e->dest_idx);
 	    pre_expr newexpr;
 
+	    if (TREE_CODE (def) == SSA_NAME)
+	      def = VN_INFO (def)->valnum;
+
 	    /* Handle constant. */
 	    if (is_gimple_min_invariant (def))
 	      return get_or_alloc_expr_for_constant (def);
--- gcc/tree-ssa-structalias.c	(revision 144236)
+++ gcc/tree-ssa-structalias.c	(revision 144237)
@@ -3405,8 +3405,8 @@ do_structure_copy (tree lhsop, tree rhso
 	{
 	  if (!do_simple_structure_copy (lhs, rhs, MIN (lhssize, rhssize)))
 	    {
-	      lhs.var = collapse_rest_of_var (lhs.var);
-	      rhs.var = collapse_rest_of_var (rhs.var);
+	      lhs.var = collapse_rest_of_var (get_varinfo_fc (lhs.var)->id);
+	      rhs.var = collapse_rest_of_var (get_varinfo_fc (rhs.var)->id);
 	      lhs.offset = 0;
 	      rhs.offset = 0;
 	      lhs.type = SCALAR;
@@ -4935,6 +4935,7 @@ find_what_p_points_to (tree p)
 	    {
 	      pi->pt_vars = NULL;
 	      if (pruned > 0
+		  && !pi->pt_null
 		  && pi->is_dereferenced
 		  && warn_strict_aliasing > 0
 		  && !SSA_NAME_IS_DEFAULT_DEF (p))
--- gcc/c-parser.c	(revision 144236)
+++ gcc/c-parser.c	(revision 144237)
@@ -3036,6 +3036,7 @@ c_parser_braced_init (c_parser *parser, 
       ret.value = error_mark_node;
       ret.original_code = ERROR_MARK;
       c_parser_skip_until_found (parser, CPP_CLOSE_BRACE, "expected %<}%>");
+      pop_init_level (0);
       return ret;
     }
   c_parser_consume_token (parser);
--- gcc/config/soft-fp/double.h	(revision 144236)
+++ gcc/config/soft-fp/double.h	(revision 144237)
@@ -1,6 +1,7 @@
 /* Software floating-point emulation.
    Definitions for IEEE Double Precision
-   Copyright (C) 1997,1998,1999,2006,2007 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 1999, 2006, 2007, 2008, 2009
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson (rth at cygnus.com),
 		  Jakub Jelinek (jj at ultra.linux.cz),
@@ -203,13 +204,13 @@ union _FP_UNION_D
 
 #define FP_UNPACK_SEMIRAW_D(X,val)	\
   do {					\
-    _FP_UNPACK_RAW_2(1,X,val);		\
+    _FP_UNPACK_RAW_1(D,X,val);		\
     _FP_UNPACK_SEMIRAW(D,1,X);		\
   } while (0)
 
 #define FP_UNPACK_SEMIRAW_DP(X,val)	\
   do {					\
-    _FP_UNPACK_RAW_2_P(1,X,val);	\
+    _FP_UNPACK_RAW_1_P(D,X,val);	\
     _FP_UNPACK_SEMIRAW(D,1,X);		\
   } while (0)
 


Index: gcc.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/devel/gcc.spec,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- gcc.spec	16 Feb 2009 22:11:04 -0000	1.20
+++ gcc.spec	17 Feb 2009 17:56:57 -0000	1.21
@@ -3,7 +3,7 @@
 %define gcc_version 4.4.0
 # Note, gcc_release must be integer, if you want to add suffixes to
 # %{release}, append them after %{gcc_release} on Release: line.
-%define gcc_release 0.19
+%define gcc_release 0.20
 %define _unpackaged_files_terminate_build 0
 %define multilib_64_archs sparc64 ppc64 s390x x86_64
 %define include_gappletviewer 1
@@ -30,7 +30,7 @@
 %define multilib_32_arch ppc
 %endif
 %ifarch x86_64
-%define multilib_32_arch i386
+%define multilib_32_arch i586
 %endif
 Summary: Various compilers (C, C++, Objective-C, Java, ...)
 Name: gcc
@@ -141,6 +141,7 @@
 Patch21: gcc44-cloog-dl.patch
 Patch22: gcc44-raw-string.patch
 Patch23: gcc44-pr39175.patch
+Patch24: gcc44-diff.patch
 
 Patch1000: fastjar-0.97-segfault.patch
 
@@ -428,6 +429,7 @@
 %endif
 %patch22 -p0 -b .raw-string~
 %patch23 -p0 -b .pr39175~
+%patch24 -p0 -b .diff~
 
 # This testcase doesn't compile.
 rm libjava/testsuite/libjava.lang/PR35020*
@@ -540,7 +542,7 @@
 OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mcpu=ultrasparc/-mtune=ultrasparc/g;s/-mcpu=v[78]//g'`
 %endif
 %ifarch %{ix86}
-OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-march=i386//g'`
+OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-march=i.86//g'`
 %endif
 %ifarch sparc64
 cat > gcc64 <<"EOF"
@@ -1762,6 +1764,13 @@
 %doc rpm.doc/changelogs/libmudflap/ChangeLog*
 
 %changelog
+* Tue Feb 17 2009 Jakub Jelinek <jakub at redhat.com> 4.4.0-0.20
+- update from trunk
+  - PRs c/35446, middle-end/39214, tree-optimization/39202
+  - fix ICE in compute_attic (#485708, PR tree-optimization/39204)
+  - fix bogus aliasing warning (#485463, tree-optimization/39207)
+- update for i386.rpm -> i586.rpm switch
+
 * Mon Feb 16 2009 Jakub Jelinek <jakub at redhat.com> 4.4.0-0.19
 - update from trunk
   - PRs c++/39070, fortran/36528, fortran/36703, fortran/38259,




More information about the fedora-extras-commits mailing list