rpms/gcc/devel gcc45-pr44942.patch, NONE, 1.1 .cvsignore, 1.320, 1.321 gcc.spec, 1.103, 1.104 sources, 1.325, 1.326
Jakub Jelinek
jakub at fedoraproject.org
Fri Jul 16 10:29:01 UTC 2010
- Previous message: rpms/crimson-text-fonts/devel dead.package, NONE, 1.1 Makefile, 1.1, NONE crimson-text-fonts-fontconfig.conf, 1.1, NONE crimson-text-fonts.spec, 1.1, NONE crimson_text_bold.otf, 1.1, NONE crimson_text_italic.otf, 1.1, NONE crimson_text_roman.otf, 1.1, NONE import.log, 1.1, NONE sources, 1.1, NONE
- Next message: rpms/pidgin-privacy-please/EL-5 pidgin-privacy-please.spec,1.8,1.9
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: jakub
Update of /cvs/pkgs/rpms/gcc/devel
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv28145
Modified Files:
.cvsignore gcc.spec sources
Added Files:
gcc45-pr44942.patch
Log Message:
4.5.0-3
gcc45-pr44942.patch:
config/i386/i386-protos.h | 4 -
config/i386/i386.c | 15 +++---
testsuite/gcc.c-torture/execute/pr44942.c | 70 ++++++++++++++++++++++++++++++
testsuite/gcc.target/i386/pr44942.c | 44 ++++++++++++++++++
4 files changed, 125 insertions(+), 8 deletions(-)
--- NEW FILE gcc45-pr44942.patch ---
2010-07-16 Jakub Jelinek <jakub at redhat.com>
PR target/44942
* config/i386/i386-protos.h (ix86_function_arg_boundary): Change second
argument to const_tree.
* config/i386/i386.c (function_arg_advance): If padding needs to be
inserted before argument, increment cum->words by number of padding
words as well.
(contains_aligned_value_p): Change argument to const_tree.
(ix86_function_arg_boundary): Change second argument to const_tree.
* gcc.c-torture/execute/pr44942.c: New test.
* gcc.target/i386/pr44942.c: New test.
--- gcc/config/i386/i386-protos.h.jj 2010-07-13 15:56:31.000000000 +0200
+++ gcc/config/i386/i386-protos.h 2010-07-15 12:45:01.000000000 +0200
@@ -137,8 +137,8 @@ extern enum machine_mode ix86_fp_compare
extern rtx ix86_libcall_value (enum machine_mode);
extern bool ix86_function_value_regno_p (int);
extern bool ix86_function_arg_regno_p (int);
-extern int ix86_function_arg_boundary (enum machine_mode, tree);
-extern bool ix86_sol10_return_in_memory (const_tree,const_tree);
+extern int ix86_function_arg_boundary (enum machine_mode, const_tree);
+extern bool ix86_sol10_return_in_memory (const_tree, const_tree);
extern rtx ix86_force_to_memory (enum machine_mode, rtx);
extern void ix86_free_from_memory (enum machine_mode);
extern enum calling_abi ix86_cfun_abi (void);
--- gcc/config/i386/i386.c.jj 2010-07-13 15:56:31.000000000 +0200
+++ gcc/config/i386/i386.c 2010-07-15 12:44:31.000000000 +0200
@@ -6157,9 +6157,8 @@ function_arg_advance_64 (CUMULATIVE_ARGS
if (!named && VALID_AVX256_REG_MODE (mode))
return;
- if (!examine_argument (mode, type, 0, &int_nregs, &sse_nregs))
- cum->words += words;
- else if (sse_nregs <= cum->sse_nregs && int_nregs <= cum->nregs)
+ if (examine_argument (mode, type, 0, &int_nregs, &sse_nregs)
+ && sse_nregs <= cum->sse_nregs && int_nregs <= cum->nregs)
{
cum->nregs -= int_nregs;
cum->sse_nregs -= sse_nregs;
@@ -6167,7 +6166,11 @@ function_arg_advance_64 (CUMULATIVE_ARGS
cum->sse_regno += sse_nregs;
}
else
- cum->words += words;
+ {
+ int align = ix86_function_arg_boundary (mode, type) / BITS_PER_WORD;
+ cum->words = (cum->words + align - 1) & ~(align - 1);
+ cum->words += words;
+ }
}
static void
@@ -6508,7 +6511,7 @@ ix86_pass_by_reference (CUMULATIVE_ARGS
/* Return true when TYPE should be 128bit aligned for 32bit argument passing
ABI. */
static bool
-contains_aligned_value_p (tree type)
+contains_aligned_value_p (const_tree type)
{
enum machine_mode mode = TYPE_MODE (type);
if (((TARGET_SSE && SSE_REG_MODE_P (mode))
@@ -6558,7 +6561,7 @@ contains_aligned_value_p (tree type)
specified mode and type. */
int
-ix86_function_arg_boundary (enum machine_mode mode, tree type)
+ix86_function_arg_boundary (enum machine_mode mode, const_tree type)
{
int align;
if (type)
--- gcc/testsuite/gcc.c-torture/execute/pr44942.c.jj 2010-07-15 13:41:28.000000000 +0200
+++ gcc/testsuite/gcc.c-torture/execute/pr44942.c 2010-07-15 13:46:40.000000000 +0200
@@ -0,0 +1,70 @@
+/* PR target/44942 */
+
+#include <stdarg.h>
+
+void
+test1 (int a, int b, int c, int d, int e, int f, int g, long double h, ...)
+{
+ int i;
+ va_list ap;
+
+ va_start (ap, h);
+ i = va_arg (ap, int);
+ if (i != 1234)
+ __builtin_abort ();
+ va_end (ap);
+}
+
+void
+test2 (int a, int b, int c, int d, int e, int f, int g, long double h, int i,
+ long double j, int k, long double l, int m, long double n, ...)
+{
+ int o;
+ va_list ap;
+
+ va_start (ap, n);
+ o = va_arg (ap, int);
+ if (o != 1234)
+ __builtin_abort ();
+ va_end (ap);
+}
+
+void
+test3 (double a, double b, double c, double d, double e, double f,
+ double g, long double h, ...)
+{
+ double i;
+ va_list ap;
+
+ va_start (ap, h);
+ i = va_arg (ap, double);
+ if (i != 1234.0)
+ __builtin_abort ();
+ va_end (ap);
+}
+
+void
+test4 (double a, double b, double c, double d, double e, double f, double g,
+ long double h, double i, long double j, double k, long double l,
+ double m, long double n, ...)
+{
+ double o;
+ va_list ap;
+
+ va_start (ap, n);
+ o = va_arg (ap, double);
+ if (o != 1234.0)
+ __builtin_abort ();
+ va_end (ap);
+}
+
+int
+main ()
+{
+ test1 (0, 0, 0, 0, 0, 0, 0, 0.0L, 1234);
+ test2 (0, 0, 0, 0, 0, 0, 0, 0.0L, 0, 0.0L, 0, 0.0L, 0, 0.0L, 1234);
+ test3 (0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0L, 1234.0);
+ test4 (0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0L, 0.0, 0.0L,
+ 0.0, 0.0L, 0.0, 0.0L, 1234.0);
+ return 0;
+}
--- gcc/testsuite/gcc.target/i386/pr44942.c.jj 2010-07-15 13:52:37.000000000 +0200
+++ gcc/testsuite/gcc.target/i386/pr44942.c 2010-07-15 13:53:24.000000000 +0200
@@ -0,0 +1,44 @@
+/* PR target/44942 */
+/* { dg-do run { target lp64 } } */
+
+#include <stdarg.h>
+#include <emmintrin.h>
+
+void
+test1 (double a, double b, double c, double d, double e, double f,
+ double g, __m128d h, ...)
+{
+ double i;
+ va_list ap;
+
+ va_start (ap, h);
+ i = va_arg (ap, double);
+ if (i != 1234.0)
+ __builtin_abort ();
+ va_end (ap);
+}
+
+void
+test2 (double a, double b, double c, double d, double e, double f, double g,
+ __m128d h, double i, __m128d j, double k, __m128d l,
+ double m, __m128d n, ...)
+{
+ double o;
+ va_list ap;
+
+ va_start (ap, n);
+ o = va_arg (ap, double);
+ if (o != 1234.0)
+ __builtin_abort ();
+ va_end (ap);
+}
+
+int
+main ()
+{
+ __m128d m = _mm_set1_pd (7.0);
+ test1 (0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, m, 1234.0);
+ test2 (0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, m, 0.0, m,
+ 0.0, m, 0.0, m, 1234.0);
+ return 0;
+}
Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/devel/.cvsignore,v
retrieving revision 1.320
retrieving revision 1.321
diff -u -p -r1.320 -r1.321
--- .cvsignore 9 Jul 2010 08:48:52 -0000 1.320
+++ .cvsignore 16 Jul 2010 10:29:01 -0000 1.321
@@ -1,2 +1,2 @@
fastjar-0.97.tar.gz
-gcc-4.5.0-20100709.tar.bz2
+gcc-4.5.0-20100716.tar.bz2
Index: gcc.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/devel/gcc.spec,v
retrieving revision 1.103
retrieving revision 1.104
diff -u -p -r1.103 -r1.104
--- gcc.spec 9 Jul 2010 11:25:38 -0000 1.103
+++ gcc.spec 16 Jul 2010 10:29:01 -0000 1.104
@@ -1,9 +1,9 @@
-%global DATE 20100709
-%global SVNREV 161987
+%global DATE 20100716
+%global SVNREV 162258
%global gcc_version 4.5.0
# Note, gcc_release must be integer, if you want to add suffixes to
# %{release}, append them after %{gcc_release} on Release: line.
-%global gcc_release 2
+%global gcc_release 3
%global _unpackaged_files_terminate_build 0
%global multilib_64_archs sparc64 ppc64 s390x x86_64
%ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha
@@ -158,6 +158,7 @@ Patch14: gcc45-pr38757.patch
Patch15: gcc45-libstdc++-docs.patch
Patch17: gcc45-no-add-needed.patch
Patch18: gcc45-pr44542.patch
+Patch19: gcc45-pr44942.patch
Patch1000: fastjar-0.97-segfault.patch
Patch1001: fastjar-0.97-len1.patch
@@ -489,6 +490,7 @@ GNAT is a GNU Ada 95 front-end to GCC. T
%endif
%patch17 -p0 -b .no-add-needed~
%patch18 -p0 -b .pr44542~
+%patch19 -p0 -b .pr44942~
# This testcase doesn't compile.
rm libjava/testsuite/libjava.lang/PR35020*
@@ -1960,7 +1962,15 @@ fi
%endif
%changelog
-* Fri Jun 9 2010 Jakub Jelinek <jakub at redhat.com> 4.5.0-2
+* Fri Jul 16 2010 Jakub Jelinek <jakub at redhat.com> 4.5.0-3
+- update from gcc-4_5-branch
+ - PRs ada/43731, fortran/44773, pch/14940, testsuite/44325
+ - fix vectorizer (#614375, #614814, PR tree-optimization/44886)
+- fix fortran CHARACTER type SELECT CASE handling (PR fortran/40206)
+- fix inline-asm check for auto-inc-dec operands (PR testsuite/44701)
+- fix va_start on x86_64 (PR target/44942)
+
+* Fri Jul 9 2010 Jakub Jelinek <jakub at redhat.com> 4.5.0-2
- update from gcc-4_5-branch
- PRs c++/44703, fortran/44847, middle-end/41355, middle-end/44828,
target/43888, tree-optimization/44284
@@ -1968,5 +1978,5 @@ fi
- fix a multilib issue with *.py[oc] files in libstdc++ (#612742)
- fix up libgcj_bc.so
-* Wed Jun 7 2010 Jakub Jelinek <jakub at redhat.com> 4.5.0-1
+* Wed Jul 7 2010 Jakub Jelinek <jakub at redhat.com> 4.5.0-1
- initial 4.5 package, using newly created redhat/gcc-4_5-branch
Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/devel/sources,v
retrieving revision 1.325
retrieving revision 1.326
diff -u -p -r1.325 -r1.326
--- sources 9 Jul 2010 08:48:53 -0000 1.325
+++ sources 16 Jul 2010 10:29:01 -0000 1.326
@@ -1,2 +1,2 @@
2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz
-8b8d91274293d271a556f7b49666a35f gcc-4.5.0-20100709.tar.bz2
+dc1cae2fe66fc33f29edae7aca29da65 gcc-4.5.0-20100716.tar.bz2
- Previous message: rpms/crimson-text-fonts/devel dead.package, NONE, 1.1 Makefile, 1.1, NONE crimson-text-fonts-fontconfig.conf, 1.1, NONE crimson-text-fonts.spec, 1.1, NONE crimson_text_bold.otf, 1.1, NONE crimson_text_italic.otf, 1.1, NONE crimson_text_roman.otf, 1.1, NONE import.log, 1.1, NONE sources, 1.1, NONE
- Next message: rpms/pidgin-privacy-please/EL-5 pidgin-privacy-please.spec,1.8,1.9
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list