public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/gcc] rhel-f41-base: 4.8.0-0.11
@ 2026-06-29 12:25 Jakub Jelinek
0 siblings, 0 replies; only message in thread
From: Jakub Jelinek @ 2026-06-29 12:25 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/gcc
Branch : rhel-f41-base
Commit : b4711962194a2a9982f01563c573e71f5fe4e8c8
Author : Jakub Jelinek <jakub@redhat.com>
Date : 2013-02-11T22:40:42+01:00
Stats : +88/-165 in 7 file(s)
URL : https://src.fedoraproject.org/rpms/gcc/c/b4711962194a2a9982f01563c573e71f5fe4e8c8?branch=rhel-f41-base
Log:
4.8.0-0.11
---
diff --git a/.gitignore b/.gitignore
index cea4278..e48c1d4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -59,3 +59,4 @@
/gcc-4.8.0-20130131.tar.bz2
/gcc-4.8.0-20130206.tar.bz2
/gcc-4.8.0-20130208.tar.bz2
+/gcc-4.8.0-20130211.tar.bz2
diff --git a/gcc.spec b/gcc.spec
index ab4d70a..945c3c0 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,9 +1,9 @@
-%global DATE 20130208
-%global SVNREV 195894
+%global DATE 20130211
+%global SVNREV 195954
%global gcc_version 4.8.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 0.10
+%global gcc_release 0.11
%global _unpackaged_files_terminate_build 0
%global multilib_64_archs sparc64 ppc64 s390x x86_64
%ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha
@@ -194,9 +194,7 @@ Patch10: gcc48-pr38757.patch
Patch11: gcc48-libstdc++-docs.patch
Patch12: gcc48-no-add-needed.patch
Patch13: gcc48-pr55608.patch
-Patch14: gcc48-pr56256.patch
-Patch15: gcc48-pr53948.patch
-Patch16: gcc48-pr56245.patch
+Patch14: gcc48-pr56151.patch
Patch1000: fastjar-0.97-segfault.patch
Patch1001: fastjar-0.97-len1.patch
@@ -749,9 +747,7 @@ package or when debugging this package.
%endif
%patch12 -p0 -b .no-add-needed~
%patch13 -p0 -b .pr55608~
-%patch14 -p0 -b .pr56256~
-%patch15 -p0 -b .pr53948~
-%patch16 -p0 -b .pr56245~
+%patch14 -p0 -b .pr56151~
%if 0%{?_enable_debug_packages}
cat > split-debuginfo.sh <<\EOF
@@ -2975,6 +2971,14 @@ fi
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
%changelog
+* Mon Feb 11 2013 Jakub Jelinek <jakub@redhat.com> 4.8.0-0.11
+- updated from trunk
+ - PRs c++/56238, c++/56247, c++/56268, fortran/55362, libstdc++/56267,
+ libstdc++/56278, libstdc++/56282, rtl-optimization/56246,
+ rtl-optimization/56275, target/56043, tree-optimization/56264,
+ tree-optimization/56273
+- improve expansion of mem1 op= mem2 (PR rtl-optimization/56151)
+
* Fri Feb 8 2013 Jakub Jelinek <jakub@redhat.com> 4.8.0-0.10
- updated from trunk
- PRs bootstrap/56227, c++/56235, c++/56237, c++/56239, c++/56241,
diff --git a/gcc48-pr53948.patch b/gcc48-pr53948.patch
deleted file mode 100644
index e9847a2..0000000
--- a/gcc48-pr53948.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-2013-02-08 Jeff Law <law@redhat.com>
-
- PR debug/53948
- * emit-rtl.c (reg_is_parm_p): New function.
- * regs.h (reg_is_parm_p): New prototype.
- * ira-conflicts.c (ira_build_conflicts): Allow parameters in
- callee-clobbered registers.
-
- * gcc.dg/debug/dwarf2/pr53948.c: New test.
-
---- gcc/emit-rtl.c
-+++ gcc/emit-rtl.c
-@@ -919,6 +919,18 @@ gen_reg_rtx (enum machine_mode mode)
- return val;
- }
-
-+/* Return TRUE if REG is a PARM_DECL, FALSE otherwise. */
-+
-+bool
-+reg_is_parm_p (rtx reg)
-+{
-+ tree decl;
-+
-+ gcc_assert (REG_P (reg));
-+ decl = REG_EXPR (reg);
-+ return (decl && TREE_CODE (decl) == PARM_DECL);
-+}
-+
- /* Update NEW with the same attributes as REG, but with OFFSET added
- to the REG_OFFSET. */
-
---- gcc/ira-conflicts.c
-+++ gcc/ira-conflicts.c
-@@ -895,8 +895,12 @@ ira_build_conflicts (void)
-
- if ((! flag_caller_saves && ALLOCNO_CALLS_CROSSED_NUM (a) != 0)
- /* For debugging purposes don't put user defined variables in
-- callee-clobbered registers. */
-- || (optimize == 0 && REG_USERVAR_P (allocno_reg)))
-+ callee-clobbered registers. However, do allow parameters
-+ in callee-clobbered registers to improve debugging. This
-+ is a bit of a fragile hack. */
-+ || (optimize == 0
-+ && REG_USERVAR_P (allocno_reg)
-+ && ! reg_is_parm_p (allocno_reg)))
- {
- IOR_HARD_REG_SET (OBJECT_TOTAL_CONFLICT_HARD_REGS (obj),
- call_used_reg_set);
---- gcc/regs.h
-+++ gcc/regs.h
-@@ -89,6 +89,8 @@ REG_N_SETS (int regno)
- #define SET_REG_N_SETS(N,V) (regstat_n_sets_and_refs[N].sets = V)
- #define INC_REG_N_SETS(N,V) (regstat_n_sets_and_refs[N].sets += V)
-
-+/* Given a REG, return TRUE if the reg is a PARM_DECL, FALSE otherwise. */
-+extern bool reg_is_parm_p (rtx);
-
- /* Functions defined in regstat.c. */
- extern void regstat_init_n_sets_and_refs (void);
---- gcc/testsuite/gcc.dg/debug/dwarf2/pr53948.c 2012-11-17 15:43:17.572007394 +0100
-+++ gcc/testsuite/gcc.dg/debug/dwarf2/pr53948.c 2013-02-08 19:10:23.000000000 +0100
-@@ -0,0 +1,10 @@
-+/* Test that we emit a .line directive for the line
-+ with local variable initializations. */
-+/* { dg-options "-O0 -g -dA" } */
-+/* { dg-final { scan-assembler ".loc 1 8 0|# line 8" } } */
-+
-+
-+int f (register int a, register int b) {
-+ register int x = b, y = a;
-+ return x + y; }
-+
diff --git a/gcc48-pr56151.patch b/gcc48-pr56151.patch
new file mode 100644
index 0000000..f3c2dc2
--- /dev/null
+++ b/gcc48-pr56151.patch
@@ -0,0 +1,73 @@
+2013-02-11 Jakub Jelinek <jakub@redhat.com>
+ Steven Bosscher <steven@gcc.gnu.org>
+
+ PR rtl-optimization/56151
+ * optabs.c (add_equal_note): Don't return 0 if target is a MEM,
+ equal to op0 or op1, and last_insn pattern is CODE operation
+ with MEM dest and one of the operands matches that MEM.
+
+ * gcc.target/i386/pr56151.c: New test.
+
+--- gcc/optabs.c.jj 2013-01-16 08:30:10.000000000 +0100
++++ gcc/optabs.c 2013-02-11 15:28:16.543839881 +0100
+@@ -190,17 +190,34 @@ add_equal_note (rtx insns, rtx target, e
+ if (GET_CODE (target) == ZERO_EXTRACT)
+ return 1;
+
+- /* If TARGET is in OP0 or OP1, punt. We'd end up with a note referencing
+- a value changing in the insn, so the note would be invalid for CSE. */
+- if (reg_overlap_mentioned_p (target, op0)
+- || (op1 && reg_overlap_mentioned_p (target, op1)))
+- return 0;
+-
+ for (last_insn = insns;
+ NEXT_INSN (last_insn) != NULL_RTX;
+ last_insn = NEXT_INSN (last_insn))
+ ;
+
++ /* If TARGET is in OP0 or OP1, punt. We'd end up with a note referencing
++ a value changing in the insn, so the note would be invalid for CSE. */
++ if (reg_overlap_mentioned_p (target, op0)
++ || (op1 && reg_overlap_mentioned_p (target, op1)))
++ {
++ if (MEM_P (target)
++ && (rtx_equal_p (target, op0)
++ || (op1 && rtx_equal_p (target, op1))))
++ {
++ /* For MEM target, with MEM = MEM op X, prefer no REG_EQUAL note
++ over expanding it as temp = MEM op X, MEM = temp. See PR56151. */
++ set = single_set (last_insn);
++ if (set
++ && GET_CODE (SET_SRC (set)) == code
++ && MEM_P (SET_DEST (set))
++ && (rtx_equal_p (SET_DEST (set), XEXP (SET_SRC (set), 0))
++ || (op1 && rtx_equal_p (SET_DEST (set),
++ XEXP (SET_SRC (set), 1)))))
++ return 1;
++ }
++ return 0;
++ }
++
+ set = single_set (last_insn);
+ if (set == NULL_RTX)
+ return 1;
+--- gcc/testsuite/gcc.target/i386/pr56151.c.jj 2013-02-11 16:20:51.459752951 +0100
++++ gcc/testsuite/gcc.target/i386/pr56151.c 2013-02-11 16:23:10.590964710 +0100
+@@ -0,0 +1,17 @@
++/* PR rtl-optimization/56151 */
++/* { dg-do compile } */
++/* { dg-options "-O2" } */
++
++int vara, varb;
++
++void
++foo (int i, int j)
++{
++ vara = varb | vara;
++}
++
++/* Verify the above is compiled into movl varb, %reg; orl %reg, vara instead
++ of longer movl vara, %reg; orl varb, %reg; movl %reg, vara. */
++/* { dg-final { scan-assembler-not "mov\[^\n\r]*vara" { target nonpic } } } */
++/* { dg-final { scan-assembler-times "mov\[^\n\r]*varb" 1 { target nonpic } } } */
++/* { dg-final { scan-assembler-times "or\[^\n\r]*vara" 1 { target nonpic } } } */
diff --git a/gcc48-pr56245.patch b/gcc48-pr56245.patch
deleted file mode 100644
index 563605f..0000000
--- a/gcc48-pr56245.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-2013-02-08 Jakub Jelinek <jakub@redhat.com>
-
- PR other/56245
- * regex.c (PTR_INT_TYPE): Define.
- (EXTEND_BUFFER): Change incr type from int to PTR_INT_TYPE.
-
---- libiberty/regex.c.jj 2011-05-02 18:39:35.000000000 +0200
-+++ libiberty/regex.c 2013-02-08 18:33:18.136802070 +0100
-@@ -46,9 +46,11 @@
-
- # if defined STDC_HEADERS && !defined emacs
- # include <stddef.h>
-+# define PTR_INT_TYPE ptrdiff_t
- # else
- /* We need this for `regex.h', and perhaps for the Emacs include files. */
- # include <sys/types.h>
-+# define PTR_INT_TYPE long
- # endif
-
- # define WIDE_CHAR_SUPPORT (HAVE_WCTYPE_H && HAVE_WCHAR_H && HAVE_BTOWC)
-@@ -2045,7 +2047,7 @@ static reg_errcode_t byte_compile_range
- /* How many characters the new buffer can have? */ \
- wchar_count = bufp->allocated / sizeof(UCHAR_T); \
- if (wchar_count == 0) wchar_count = 1; \
-- /* Truncate the buffer to CHAR_T align. */ \
-+ /* Truncate the buffer to CHAR_T align. */ \
- bufp->allocated = wchar_count * sizeof(UCHAR_T); \
- RETALLOC (COMPILED_BUFFER_VAR, wchar_count, UCHAR_T); \
- bufp->buffer = (char*)COMPILED_BUFFER_VAR; \
-@@ -2054,7 +2056,7 @@ static reg_errcode_t byte_compile_range
- /* If the buffer moved, move all the pointers into it. */ \
- if (old_buffer != COMPILED_BUFFER_VAR) \
- { \
-- int incr = COMPILED_BUFFER_VAR - old_buffer; \
-+ PTR_INT_TYPE incr = COMPILED_BUFFER_VAR - old_buffer; \
- MOVE_BUFFER_POINTER (b); \
- MOVE_BUFFER_POINTER (begalt); \
- if (fixup_alt_jump) \
-@@ -2082,7 +2084,7 @@ static reg_errcode_t byte_compile_range
- /* If the buffer moved, move all the pointers into it. */ \
- if (old_buffer != COMPILED_BUFFER_VAR) \
- { \
-- int incr = COMPILED_BUFFER_VAR - old_buffer; \
-+ PTR_INT_TYPE incr = COMPILED_BUFFER_VAR - old_buffer; \
- MOVE_BUFFER_POINTER (b); \
- MOVE_BUFFER_POINTER (begalt); \
- if (fixup_alt_jump) \
diff --git a/gcc48-pr56256.patch b/gcc48-pr56256.patch
deleted file mode 100644
index 622c5cb..0000000
--- a/gcc48-pr56256.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-2013-02-08 Jakub Jelinek <jakub@redhat.com>
-
- PR target/56256
- * config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Define.
-
- * gcc.target/powerpc/pr56256.c: New test.
-
---- gcc/config/rs6000/rs6000.h.jj 2013-01-11 09:03:12.000000000 +0100
-+++ gcc/config/rs6000/rs6000.h 2013-02-08 16:46:35.988977363 +0100
-@@ -356,6 +356,12 @@ extern const char *host_detect_local_cpu
- #define PROCESSOR_DEFAULT PROCESSOR_PPC603
- #define PROCESSOR_DEFAULT64 PROCESSOR_RS64A
-
-+/* Specify the dialect of assembler to use. Only new mnemonics are supported
-+ starting with GCC 4.8, i.e. just one dialect, but for backwards
-+ compatibility with older inline asm ASSEMBLER_DIALECT needs to be
-+ defined. */
-+#define ASSEMBLER_DIALECT 1
-+
- /* Debug support */
- #define MASK_DEBUG_STACK 0x01 /* debug stack applications */
- #define MASK_DEBUG_ARG 0x02 /* debug argument handling */
---- gcc/testsuite/gcc.target/powerpc/pr56256.c.jj 2013-02-08 17:00:11.096171281 +0100
-+++ gcc/testsuite/gcc.target/powerpc/pr56256.c 2013-02-08 17:09:05.448004295 +0100
-@@ -0,0 +1,11 @@
-+/* PR target/56256 */
-+/* { dg-do assemble } */
-+/* { dg-options "-O2" } */
-+
-+int
-+foo (void)
-+{
-+ int a;
-+ __asm__ ("{lil|li} %0,%1" : "=r" (a) : "I" (26));
-+ return a;
-+}
diff --git a/sources b/sources
index 53d82cb..ff69942 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,4 @@
be78a47bd82523250eb3e91646db5b3d cloog-0.18.0.tar.gz
2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz
bce1586384d8635a76d2f017fb067cd2 isl-0.11.1.tar.bz2
-94f2b1c221e6f1561a93525c6679080c gcc-4.8.0-20130208.tar.bz2
+ab39481e50bd55b5efdf8bbcdfda63e3 gcc-4.8.0-20130211.tar.bz2
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-06-29 12:25 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-29 12:25 [rpms/gcc] rhel-f41-base: 4.8.0-0.11 Jakub Jelinek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox