This commit is contained in:
Jakub Jelinek 2011-08-24 09:47:03 +02:00
parent a83ade956a
commit f9c8fd47c4
5 changed files with 127 additions and 4 deletions

1
.gitignore vendored
View File

@ -11,3 +11,4 @@
/gcc-4.6.1-20110731.tar.bz2
/gcc-4.6.1-20110802.tar.bz2
/gcc-4.6.1-20110804.tar.bz2
/gcc-4.6.1-20110824.tar.bz2

View File

@ -1,9 +1,9 @@
%global DATE 20110804
%global SVNREV 177406
%global DATE 20110824
%global SVNREV 178027
%global gcc_version 4.6.1
# 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 7
%global gcc_release 8
%global _unpackaged_files_terminate_build 0
%global multilib_64_archs sparc64 ppc64 s390x x86_64
%ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha
@ -169,6 +169,8 @@ Patch15: gcc46-libstdc++-docs.patch
Patch17: gcc46-no-add-needed.patch
Patch18: gcc46-ppl-0.10.patch
Patch19: gcc46-pr47858.patch
Patch20: gcc46-pr48722.patch
Patch21: gcc46-rh713800.patch
Patch1000: fastjar-0.97-segfault.patch
Patch1001: fastjar-0.97-len1.patch
@ -640,6 +642,8 @@ package or when debugging this package.
%patch18 -p0 -b .ppl-0.10~
%endif
%patch19 -p0 -b .pr47858~
%patch20 -p0 -b .pr48722~
%patch21 -p0 -b .rh713800~
%if 0%{?_enable_debug_packages}
cat > split-debuginfo.sh <<\EOF
@ -2450,6 +2454,20 @@ fi
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
%changelog
* Wed Aug 24 2011 Jakub Jelinek <jakub@redhat.com> 4.6.1-8
- update from the 4.6 branch
- PRs c++/46862, c++/48993, c++/49669, c++/49921, c++/49988, c++/50024,
c++/50054, c++/50086, fortran/49792, fortran/50050, fortran/50109,
fortran/50129, fortran/50130, middle-end/49923, target/50001,
target/50092, tree-optimization/48739
- build EH_SPEC_BLOCK with the same location as current function
to help gcov (#732802, PR c++/50055)
- support used attribute on template class methods and static data
members for forced instantiation (#722587)
- fix up location copying in the vectorizer (PR tree-optimization/50133)
- unshare CALL_INSN_FUNCTION_USAGE (PR middle-end/48722)
- fix up gthr*.h for -E -C (#713800)
* Thu Aug 4 2011 Jakub Jelinek <jakub@redhat.com> 4.6.1-7
- update from the 4.6 branch
- PRs c++/43886, c++/49593, c++/49803, fortran/49885,

76
gcc46-pr48722.patch Normal file
View File

@ -0,0 +1,76 @@
2011-08-22 Jakub Jelinek <jakub@redhat.com>
PR middle-end/48722
* emit-rtl.c (unshare_all_rtl_again): For CALL_INSNs,
reset_used_flags also in CALL_INSN_FUNCTION_USAGE.
(verify_rtl_sharing): Likewise and verify_rtx_sharing
in there too.
(unshare_all_rtl_in_chain): For CALL_INSNs
copy_rtx_if_shared also CALL_INSN_FUNCTION_USAGE.
* gcc.target/i386/pr48722.c: New test.
--- gcc/emit-rtl.c.jj 2011-08-18 08:36:00.000000000 +0200
+++ gcc/emit-rtl.c 2011-08-22 08:48:27.000000000 +0200
@@ -2444,6 +2444,8 @@ unshare_all_rtl_again (rtx insn)
{
reset_used_flags (PATTERN (p));
reset_used_flags (REG_NOTES (p));
+ if (CALL_P (p))
+ reset_used_flags (CALL_INSN_FUNCTION_USAGE (p));
}
/* Make sure that virtual stack slots are not shared. */
@@ -2610,6 +2612,8 @@ verify_rtl_sharing (void)
{
reset_used_flags (PATTERN (p));
reset_used_flags (REG_NOTES (p));
+ if (CALL_P (p))
+ reset_used_flags (CALL_INSN_FUNCTION_USAGE (p));
if (GET_CODE (PATTERN (p)) == SEQUENCE)
{
int i;
@@ -2621,6 +2625,8 @@ verify_rtl_sharing (void)
gcc_assert (INSN_P (q));
reset_used_flags (PATTERN (q));
reset_used_flags (REG_NOTES (q));
+ if (CALL_P (q))
+ reset_used_flags (CALL_INSN_FUNCTION_USAGE (q));
}
}
}
@@ -2630,6 +2636,8 @@ verify_rtl_sharing (void)
{
verify_rtx_sharing (PATTERN (p), p);
verify_rtx_sharing (REG_NOTES (p), p);
+ if (CALL_P (p))
+ verify_rtx_sharing (CALL_INSN_FUNCTION_USAGE (p), p);
}
timevar_pop (TV_VERIFY_RTL_SHARING);
@@ -2646,6 +2654,9 @@ unshare_all_rtl_in_chain (rtx insn)
{
PATTERN (insn) = copy_rtx_if_shared (PATTERN (insn));
REG_NOTES (insn) = copy_rtx_if_shared (REG_NOTES (insn));
+ if (CALL_P (insn))
+ CALL_INSN_FUNCTION_USAGE (insn)
+ = copy_rtx_if_shared (CALL_INSN_FUNCTION_USAGE (insn));
}
}
--- gcc/testsuite/gcc.target/i386/pr48722.c.jj 2011-08-22 08:53:10.000000000 +0200
+++ gcc/testsuite/gcc.target/i386/pr48722.c 2011-08-22 08:52:37.000000000 +0200
@@ -0,0 +1,13 @@
+/* PR middle-end/48722 */
+/* { dg-do compile } */
+/* { dg-options "-Os -mno-push-args" } */
+
+extern long long a;
+extern int b;
+void bar (int, long long);
+
+void
+foo (void)
+{
+ bar (a > 0x85, b);
+}

28
gcc46-rh713800.patch Normal file
View File

@ -0,0 +1,28 @@
2011-08-04 Jakub Jelinek <jakub@redhat.com>
* gthr-posix.h (__gthread_active_p): Do not use preprocessor
conditionals and comments inside macro arguments.
--- gcc/gthr-posix.h.jj 2011-07-18 13:17:56.000000000 +0200
+++ gcc/gthr-posix.h 2011-08-04 11:22:40.000000000 +0200
@@ -244,16 +244,15 @@ __gthread_active_p (void)
static inline int
__gthread_active_p (void)
{
- static void *const __gthread_active_ptr
- = __extension__ (void *) &__gthrw_(
/* Android's C library does not provide pthread_cancel, check for
`pthread_create' instead. */
#ifndef __BIONIC__
- pthread_cancel
+ static void *const __gthread_active_ptr
+ = __extension__ (void *) &__gthrw_(pthread_cancel);
#else
- pthread_create
+ static void *const __gthread_active_ptr
+ = __extension__ (void *) &__gthrw_(pthread_create);
#endif
- );
return __gthread_active_ptr != 0;
}

View File

@ -1,2 +1,2 @@
2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz
b05f1e0faccddda5f95e1544b7e88ec9 gcc-4.6.1-20110804.tar.bz2
bb9c5e409658f09ff4cd6679c637bb08 gcc-4.6.1-20110824.tar.bz2