aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbergner <bergner@138bc75d-0d04-0410-961f-82ee72b054a4>2014-06-13 19:24:47 +0000
committerbergner <bergner@138bc75d-0d04-0410-961f-82ee72b054a4>2014-06-13 19:24:47 +0000
commit3c67bb7d9b227bbeaddc3b975f70521137b2b984 (patch)
tree4e61a541c5ac91a95cad80bfb65fdb29f95e8c8a
parent7cf3be5b5da91b4efefbe739fd291d3e9c1278cc (diff)
parentae10eb82fe34c18640ad65c2ab94ffc53f349315 (diff)
Merge up to 211652.ibm/gcc-4_7-branch
* REVISION: Update subversion id. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ibm/gcc-4_7-branch@211654 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--ChangeLog4
-rw-r--r--boehm-gc/ChangeLog4
-rw-r--r--config/ChangeLog4
-rw-r--r--contrib/ChangeLog4
-rw-r--r--contrib/reghunt/ChangeLog4
-rw-r--r--contrib/regression/ChangeLog4
-rw-r--r--fixincludes/ChangeLog4
-rw-r--r--gcc/ChangeLog40
-rw-r--r--gcc/ChangeLog.ibm5
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/DEV-PHASE1
-rw-r--r--gcc/REVISION2
-rw-r--r--gcc/ada/ChangeLog4
-rw-r--r--gcc/c-family/ChangeLog4
-rw-r--r--gcc/config/arm/arm.md7
-rw-r--r--gcc/cp/ChangeLog10
-rw-r--r--gcc/cp/pt.c1
-rw-r--r--gcc/doc/extend.texi2
-rw-r--r--gcc/fortran/ChangeLog33
-rw-r--r--gcc/fortran/check.c2
-rw-r--r--gcc/fortran/class.c2
-rw-r--r--gcc/fortran/gfortran.h5
-rw-r--r--gcc/fortran/intrinsic.texi6
-rw-r--r--gcc/fortran/resolve.c7
-rw-r--r--gcc/fortran/trans-array.c3
-rw-r--r--gcc/go/ChangeLog4
-rw-r--r--gcc/java/ChangeLog4
-rw-r--r--gcc/lto/ChangeLog4
-rw-r--r--gcc/objc/ChangeLog4
-rw-r--r--gcc/objcp/ChangeLog4
-rw-r--r--gcc/po/ChangeLog4
-rw-r--r--gcc/testsuite/ChangeLog45
-rw-r--r--gcc/testsuite/g++.dg/template/local8.C18
-rw-r--r--gcc/testsuite/gcc.dg/strlenopt-23.c15
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr58228.c15
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr58539.c20
-rw-r--r--gcc/testsuite/gfortran.dg/array_constructor_41.f9033
-rw-r--r--gcc/testsuite/gfortran.dg/associate_13.f9021
-rw-r--r--gcc/testsuite/gfortran.dg/associate_14.f9056
-rw-r--r--gcc/testsuite/gnat.dg/aliasing1.adb2
-rw-r--r--gcc/tree-ssa-strlen.c2
-rw-r--r--gcc/tree-vect-data-refs.c6
-rw-r--r--gcc/tree-vect-loop.c11
-rw-r--r--gnattools/ChangeLog4
-rw-r--r--include/ChangeLog4
-rw-r--r--intl/ChangeLog4
-rw-r--r--libada/ChangeLog4
-rw-r--r--libcpp/ChangeLog4
-rw-r--r--libcpp/po/ChangeLog4
-rw-r--r--libdecnumber/ChangeLog4
-rw-r--r--libffi/ChangeLog4
-rw-r--r--libgcc/ChangeLog4
-rw-r--r--libgcc/config/libbid/ChangeLog4
-rw-r--r--libgfortran/ChangeLog15
-rw-r--r--libgfortran/intrinsics/ctime.c70
-rw-r--r--libgomp/ChangeLog4
-rw-r--r--libiberty/ChangeLog4
-rw-r--r--libitm/ChangeLog4
-rw-r--r--libjava/ChangeLog4
-rw-r--r--libjava/classpath/ChangeLog4
-rw-r--r--libjava/libltdl/ChangeLog4
-rw-r--r--libmudflap/ChangeLog4
-rw-r--r--libobjc/ChangeLog4
-rw-r--r--libquadmath/ChangeLog4
-rw-r--r--libssp/ChangeLog4
-rw-r--r--libstdc++-v3/ChangeLog9
-rw-r--r--libstdc++-v3/include/tr2/bool_set2
-rw-r--r--libstdc++-v3/scripts/run_doxygen11
-rw-r--r--lto-plugin/ChangeLog4
-rw-r--r--maintainer-scripts/ChangeLog4
-rw-r--r--zlib/ChangeLog4
71 files changed, 579 insertions, 52 deletions
diff --git a/ChangeLog b/ChangeLog
index 7d255b3aefa..e478f239cf6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/boehm-gc/ChangeLog b/boehm-gc/ChangeLog
index 32cef04096f..c7dc52d65ee 100644
--- a/boehm-gc/ChangeLog
+++ b/boehm-gc/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/config/ChangeLog b/config/ChangeLog
index cc4d6cb2e34..6431ffed9ee 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/contrib/ChangeLog b/contrib/ChangeLog
index 9389de72bb5..5d51d6ad784 100644
--- a/contrib/ChangeLog
+++ b/contrib/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2014-02-02 Uros Bizjak <ubizjak@gmail.com>
Backport from mainline
diff --git a/contrib/reghunt/ChangeLog b/contrib/reghunt/ChangeLog
index 08ecdfc41e5..c938bc57e87 100644
--- a/contrib/reghunt/ChangeLog
+++ b/contrib/reghunt/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/contrib/regression/ChangeLog b/contrib/regression/ChangeLog
index 3fecd83e934..270970665ac 100644
--- a/contrib/regression/ChangeLog
+++ b/contrib/regression/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/fixincludes/ChangeLog b/fixincludes/ChangeLog
index 8fae00387d8..0b91c8415b1 100644
--- a/fixincludes/ChangeLog
+++ b/fixincludes/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 92b1ffad583..db5c5f1df45 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,43 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
+2014-06-04 Richard Biener <rguenther@suse.de>
+
+ Backport from mainline
+ 2013-05-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/57230
+ * tree-ssa-strlen.c (handle_char_store): Add missing integer_zerop
+ check.
+
+2014-05-28 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/61044
+ * doc/extend.texi (Local Labels): Note that label differences are
+ not supported for AVR.
+
+2014-05-23 Richard Biener <rguenther@suse.de>
+
+ Backport from mainline
+ 2013-08-30 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/58228
+ * tree-vect-data-refs.c (vect_analyze_data_ref_access): Do not
+ allow invariant loads in nested loop vectorization.
+
+ 2013-09-26 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/58539
+ * tree-vect-loop.c (vect_create_epilog_for_reduction): Honor
+ the fact that debug statements are not taking part in loop-closed
+ SSA construction.
+
+2014-05-22 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/61208
+ * arm.md (arm_cmpdi_unsigned): Fix length calculation for Thumb2.
+
2014-05-20 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
Backport from mainline r210325
diff --git a/gcc/ChangeLog.ibm b/gcc/ChangeLog.ibm
index 74607d8d8b3..e19dc48a3dc 100644
--- a/gcc/ChangeLog.ibm
+++ b/gcc/ChangeLog.ibm
@@ -1,3 +1,8 @@
+2014-06-13 Peter Bergner <bergner@vnet.ibm.com>
+
+ Merge up to 211652.
+ * REVISION: Update subversion id.
+
2014-05-21 Peter Bergner <bergner@vnet.ibm.com>
Merge up to 210728.
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 985e1ca4cea..e00a573aab2 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20140521
+20140612
diff --git a/gcc/DEV-PHASE b/gcc/DEV-PHASE
index 373fbc60bb9..e69de29bb2d 100644
--- a/gcc/DEV-PHASE
+++ b/gcc/DEV-PHASE
@@ -1 +0,0 @@
-prerelease
diff --git a/gcc/REVISION b/gcc/REVISION
index f463c958e50..e24c74c1e74 100644
--- a/gcc/REVISION
+++ b/gcc/REVISION
@@ -1 +1 @@
-[ibm/gcc-4_7-branch merged from gcc-4_7-branch, revision 210728]
+[ibm/gcc-4_7-branch merged from gcc-4_7-branch, revision 211652]
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 3259967be50..27a1b1b4cca 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2014-03-30 Eric Botcazou <ebotcazou@adacore.com>
PR ada/60703
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 210fbf8a8ee..14864444965 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2014-04-07 Dominique d'Humieres <dominiq@lps.ens.fr>
Backport from mainline
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index bb417486758..96cb78f9604 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -7569,12 +7569,13 @@
(define_insn "*arm_cmpdi_unsigned"
[(set (reg:CC_CZ CC_REGNUM)
- (compare:CC_CZ (match_operand:DI 0 "s_register_operand" "r")
- (match_operand:DI 1 "arm_di_operand" "rDi")))]
+ (compare:CC_CZ (match_operand:DI 0 "s_register_operand" "r,r")
+ (match_operand:DI 1 "arm_di_operand" "rDi,rDi")))]
"TARGET_32BIT"
"cmp\\t%R0, %R1\;it eq\;cmpeq\\t%Q0, %Q1"
[(set_attr "conds" "set")
- (set_attr "length" "8")]
+ (set_attr "arch" "a,t2")
+ (set_attr "length" "8,10")]
)
(define_insn "*arm_cmpdi_zero"
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 1ee383f8b09..8cdcfb471dc 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,13 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
+2014-05-30 Jason Merrill <jason@redhat.com>
+
+ PR c++/56947
+ * pt.c (instantiate_decl): Don't defer instantiation of a nested
+ function.
+
2014-05-07 Jakub Jelinek <jakub@redhat.com>
Backported from mainline
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index f2b2f9bccf9..e1cc59d5e46 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -18191,6 +18191,7 @@ instantiate_decl (tree d, int defer_ok,
if the variable has a constant value the referring expression can
take advantage of that fact. */
if (TREE_CODE (d) == VAR_DECL
+ || decl_function_context (d)
|| DECL_DECLARED_CONSTEXPR_P (d))
defer_ok = 0;
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 0887946a193..724d4862753 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -375,6 +375,8 @@ goto *(&&foo + array[i]);
This is more friendly to code living in shared libraries, as it reduces
the number of dynamic relocations that are needed, and by consequence,
allows the data to be read-only.
+This alternative with label differences is not supported for the AVR target,
+please use the first approach for AVR programs.
The @code{&&foo} expressions for the same label might have different
values if the containing function is inlined or cloned. If a program
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 11cbdde933b..c08002a21dd 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,36 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
+2014-05-26 Janne Blomqvist <jb@gcc.gnu.org>
+
+ Backport from mainline
+ PR libfortran/61310
+ * intrinsics.texi (CTIME): Remove mention of locale-dependent
+ behavior.
+
+2014-05-24 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ Backport r195492 and r195815
+ 2013-01-27 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/55789
+ PR fortran/56047
+ * gfortran.h : Add associate_var to symbol_attr.
+ * resolve.c (resolve_assoc_var): Set associate_var attribute.
+ If the target class_ok is set, set it for the associate
+ variable.
+ * check.c (allocatable_check): Associate variables should not
+ have the allocatable attribute even if their symbols do.
+ * class.c (gfc_build_class_symbol): Symbols with associate_var
+ set will always have a good class container.
+
+ 2013-02-06 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/55789
+ * trans-array.c (trans_array_constructor): Remove condition
+ 'dynamic' = true if the loop ubound is a VAR_DECL.
+
2014-03-29 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/60677
diff --git a/gcc/fortran/check.c b/gcc/fortran/check.c
index f6195aa8b3a..e5fd0374829 100644
--- a/gcc/fortran/check.c
+++ b/gcc/fortran/check.c
@@ -454,7 +454,7 @@ allocatable_check (gfc_expr *e, int n)
symbol_attribute attr;
attr = gfc_variable_attr (e, NULL);
- if (!attr.allocatable)
+ if (!attr.allocatable || attr.associate_var)
{
gfc_error ("'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE",
gfc_current_intrinsic_arg[n]->name, gfc_current_intrinsic,
diff --git a/gcc/fortran/class.c b/gcc/fortran/class.c
index d4ed6b043ac..55278cae075 100644
--- a/gcc/fortran/class.c
+++ b/gcc/fortran/class.c
@@ -493,7 +493,7 @@ gfc_build_class_symbol (gfc_typespec *ts, symbol_attribute *attr,
return SUCCESS;
attr->class_ok = attr->dummy || attr->pointer || attr->allocatable
- || attr->select_type_temporary;
+ || attr->select_type_temporary || attr->associate_var;
if (!attr->class_ok)
/* We can not build the class container yet. */
diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h
index 54310dfbea1..7db6dc55055 100644
--- a/gcc/fortran/gfortran.h
+++ b/gcc/fortran/gfortran.h
@@ -786,8 +786,9 @@ typedef struct
unsigned alloc_comp:1, pointer_comp:1, proc_pointer_comp:1,
private_comp:1, zero_comp:1, coarray_comp:1, lock_comp:1;
- /* This is a temporary selector for SELECT TYPE. */
- unsigned select_type_temporary:1;
+ /* This is a temporary selector for SELECT TYPE or an associate
+ variable for SELECT_TYPE or ASSOCIATE. */
+ unsigned select_type_temporary:1, associate_var:1;
/* Attributes set by compiler extensions (!GCC$ ATTRIBUTES). */
unsigned ext_attr:EXT_ATTR_NUM;
diff --git a/gcc/fortran/intrinsic.texi b/gcc/fortran/intrinsic.texi
index d0a29cc25ea..327bce74305 100644
--- a/gcc/fortran/intrinsic.texi
+++ b/gcc/fortran/intrinsic.texi
@@ -3314,10 +3314,8 @@ end program test_cshift
@table @asis
@item @emph{Description}:
@code{CTIME} converts a system time value, such as returned by
-@code{TIME8}, to a string. Unless the application has called
-@code{setlocale}, the output will be in the default locale, of length
-24 and of the form @samp{Sat Aug 19 18:13:14 1995}. In other locales,
-a longer string may result.
+@code{TIME8}, to a string. The output will be of the form @samp{Sat
+Aug 19 18:13:14 1995}.
This intrinsic is provided in both subroutine and function forms; however,
only one form can be used in any given program unit.
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 514060882d6..7cd2a4069c0 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -7991,6 +7991,13 @@ resolve_assoc_var (gfc_symbol* sym, bool resolve_target)
has no corank. */
sym->as->corank = 0;
}
+
+ /* Mark this as an associate variable. */
+ sym->attr.associate_var = 1;
+
+ /* If the target is a good class object, so is the associate variable. */
+ if (sym->ts.type == BT_CLASS && gfc_expr_attr (target).class_ok)
+ sym->attr.class_ok = 1;
}
diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c
index 25340f58eea..b9574627f1d 100644
--- a/gcc/fortran/trans-array.c
+++ b/gcc/fortran/trans-array.c
@@ -2282,9 +2282,6 @@ trans_array_constructor (gfc_ss * ss, locus * where)
}
}
- if (TREE_CODE (*loop_ubound0) == VAR_DECL)
- dynamic = true;
-
gfc_trans_create_temp_array (&outer_loop->pre, &outer_loop->post, ss, type,
NULL_TREE, dynamic, true, false, where);
diff --git a/gcc/go/ChangeLog b/gcc/go/ChangeLog
index 149db5a258c..e1a9ba904e5 100644
--- a/gcc/go/ChangeLog
+++ b/gcc/go/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 1d40c988037..8fee34ea849 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog
index fae2d0afff7..607a32490b3 100644
--- a/gcc/lto/ChangeLog
+++ b/gcc/lto/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog
index f359cdc1577..76cb030b9b4 100644
--- a/gcc/objc/ChangeLog
+++ b/gcc/objc/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2014-04-07 Dominique d'Humieres <dominiq@lps.ens.fr>
Backport from mainline
diff --git a/gcc/objcp/ChangeLog b/gcc/objcp/ChangeLog
index 637abb7400c..e53cbfeca06 100644
--- a/gcc/objcp/ChangeLog
+++ b/gcc/objcp/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/gcc/po/ChangeLog b/gcc/po/ChangeLog
index 5839fea0284..1d452bfc7d3 100644
--- a/gcc/po/ChangeLog
+++ b/gcc/po/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 4609c56f7f1..46e4621a50b 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,48 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
+2014-06-04 Richard Biener <rguenther@suse.de>
+
+ Backport from mainline
+ 2013-05-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/57230
+ * gcc.dg/strlenopt-23.c: New test.
+
+2014-05-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/aliasing1.adb (dg-final): Robustify pattern matching.
+
+2014-05-24 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ Backport r195492 and r195815
+ 2013-01-27 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/55789
+ * gfortran.dg/associate_14.f90: New test.
+
+ PR fortran/56047
+ * gfortran.dg/associate_13.f90: New test.
+
+ 2013-02-06 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/55789
+ * gfortran.dg/array_constructor_41.f90: New test.
+
+2014-05-23 Richard Biener <rguenther@suse.de>
+
+ Backport from mainline
+ 2013-08-30 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/58228
+ * gcc.dg/torture/pr58228.c: New testcase.
+
+ 2013-09-26 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/58539
+ * gcc.dg/torture/pr58539.c: New testcase.
+
2014-05-20 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
Backport from mainline r210325
diff --git a/gcc/testsuite/g++.dg/template/local8.C b/gcc/testsuite/g++.dg/template/local8.C
new file mode 100644
index 00000000000..006bd8c40eb
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/local8.C
@@ -0,0 +1,18 @@
+// PR c++/56947
+
+struct A
+{
+ A (int);
+};
+
+template < typename >
+void Fn ()
+{
+ const int kCapacity = 0;
+ struct Q:A
+ {
+ Q ():A (kCapacity) { }
+ };
+ Q q;
+}
+template void Fn < int >();
diff --git a/gcc/testsuite/gcc.dg/strlenopt-23.c b/gcc/testsuite/gcc.dg/strlenopt-23.c
new file mode 100644
index 00000000000..75dab2ae0bb
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/strlenopt-23.c
@@ -0,0 +1,15 @@
+/* PR tree-optimization/57230 */
+/* { dg-do run } */
+/* { dg-options "-O2" } */
+
+#include "strlenopt.h"
+
+int
+main ()
+{
+ char p[] = "hello world";
+ p[0] = (char) (strlen (p) - 1);
+ if (strlen (p) != 11)
+ abort ();
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr58228.c b/gcc/testsuite/gcc.dg/torture/pr58228.c
new file mode 100644
index 00000000000..d12303a008d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr58228.c
@@ -0,0 +1,15 @@
+/* { dg-do run } */
+
+extern void abort (void);
+int a[8][8] = {{1}};
+int b, c, d, e;
+
+int main ()
+{
+ for (c = 0; c < 8; c++)
+ for (b = 0; b < 2; b++)
+ a[b + 4][c] = a[c][0];
+ if (a[4][4] != 1)
+ abort ();
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr58539.c b/gcc/testsuite/gcc.dg/torture/pr58539.c
new file mode 100644
index 00000000000..a016150f18e
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr58539.c
@@ -0,0 +1,20 @@
+/* { dg-do compile } */
+/* { dg-options "-g" } */
+
+int a, b;
+
+extern void baz (int);
+
+int foo (int p)
+{
+ return p ? p : 1;
+}
+
+void bar ()
+{
+ int *c = &a, *d = &a;
+ for (b = 0; b < 12; b++)
+ *d |= 1;
+ foo (*c);
+ baz (*c && 1);
+}
diff --git a/gcc/testsuite/gfortran.dg/array_constructor_41.f90 b/gcc/testsuite/gfortran.dg/array_constructor_41.f90
new file mode 100644
index 00000000000..eb5fd92a1ee
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/array_constructor_41.f90
@@ -0,0 +1,33 @@
+! { dg-do compile }
+! { dg-options "-fdump-tree-original" }
+! Test fix for PR55789
+!
+! Contributed by Joost VandVandole <Joost.VandeVondele@mat.ethz.ch>
+!
+MODULE M1
+CONTAINS
+ SUBROUTINE cp_1d_i4_sort(arr)
+ INTEGER(kind=4), DIMENSION(:), &
+ INTENT(inout) :: arr
+ arr = (/ (i, i = 1, SIZE(arr)) /)
+ END SUBROUTINE
+END MODULE M1
+
+PROGRAM TEST
+ USE M1
+ INTEGER :: arr(1)
+ INTERFACE
+ SUBROUTINE mtrace() BIND(C,name="mtrace")
+ END SUBROUTINE
+ END INTERFACE
+ INTERFACE
+ SUBROUTINE muntrace() BIND(C,name="muntrace")
+ END SUBROUTINE
+ END INTERFACE
+ CALL mtrace()
+ CALL cp_1d_i4_sort(arr)
+ CALL muntrace()
+END
+
+! { dg-final { scan-tree-dump-times "realloc" 0 "original" } }
+! { dg-final { cleanup-tree-dump "original" } }
diff --git a/gcc/testsuite/gfortran.dg/associate_13.f90 b/gcc/testsuite/gfortran.dg/associate_13.f90
new file mode 100644
index 00000000000..7c64d3f0aa7
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/associate_13.f90
@@ -0,0 +1,21 @@
+! { dg-do run }
+!
+! Tests the fix for PR56047. This is actually a development of
+! the test case of comment #10.
+!
+! Reported by Juergen Reuter <juergen.reuter@desy.de>
+!
+ implicit none
+ type :: process_variant_def_t
+ integer :: i
+ end type
+ type :: process_component_def_t
+ class(process_variant_def_t), allocatable :: variant_def
+ end type
+ type(process_component_def_t), dimension(1:2) :: initial
+ allocate (initial(1)%variant_def, source = process_variant_def_t (99))
+ associate (template => initial(1)%variant_def)
+ template%i = 77
+ end associate
+ if (initial(1)%variant_def%i .ne. 77) call abort
+end
diff --git a/gcc/testsuite/gfortran.dg/associate_14.f90 b/gcc/testsuite/gfortran.dg/associate_14.f90
new file mode 100644
index 00000000000..765e36520c6
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/associate_14.f90
@@ -0,0 +1,56 @@
+! { dg-do compile }
+! Tests the fix for PR55984.
+!
+! Contributed by Sylwester Arabas <slayoo@staszic.waw.pl>
+!
+module bcd_m
+ type, abstract :: bcd_t
+ contains
+ procedure(bcd_fill_halos), deferred :: fill_halos
+ end type
+ abstract interface
+ subroutine bcd_fill_halos(this)
+ import :: bcd_t
+ class(bcd_t ) :: this
+ end subroutine
+ end interface
+end module
+
+module solver_m
+ use bcd_m
+ type, abstract :: solver_t
+ integer :: n, hlo
+ class(bcd_t), pointer :: bcx, bcy
+ contains
+ procedure(solver_advop), deferred :: advop
+ end type
+ abstract interface
+ subroutine solver_advop(this)
+ import solver_t
+ class(solver_t) :: this
+ end subroutine
+ end interface
+ contains
+end module
+
+module solver_mpdata_m
+ use solver_m
+ type :: mpdata_t
+ class(bcd_t), pointer :: bcx, bcy
+ contains
+ procedure :: advop => mpdata_advop
+ end type
+ contains
+ subroutine mpdata_advop(this)
+ class(mpdata_t) :: this
+ associate ( bcx => this%bcx, bcy => this%bcy )
+ call bcx%fill_halos()
+ end associate
+ end subroutine
+end module
+
+ use solver_mpdata_m
+ class(mpdata_t), allocatable :: that
+ call mpdata_advop (that)
+end
+
diff --git a/gcc/testsuite/gnat.dg/aliasing1.adb b/gcc/testsuite/gnat.dg/aliasing1.adb
index b2b7d123b1f..bffc4225b47 100644
--- a/gcc/testsuite/gnat.dg/aliasing1.adb
+++ b/gcc/testsuite/gnat.dg/aliasing1.adb
@@ -18,5 +18,5 @@ package body Aliasing1 is
end Aliasing1;
--- { dg-final { scan-tree-dump-not "__gnat_rcheck" "optimized" } }
+-- { dg-final { scan-tree-dump-not "gnat_rcheck" "optimized" } }
-- { dg-final { cleanup-tree-dump "optimized" } }
diff --git a/gcc/tree-ssa-strlen.c b/gcc/tree-ssa-strlen.c
index 3a3aeeac9f2..532bdac3faa 100644
--- a/gcc/tree-ssa-strlen.c
+++ b/gcc/tree-ssa-strlen.c
@@ -1693,7 +1693,7 @@ handle_char_store (gimple_stmt_iterator *gsi)
its length may be decreased. */
adjust_last_stmt (si, stmt, false);
}
- else if (si != NULL)
+ else if (si != NULL && integer_zerop (gimple_assign_rhs1 (stmt)))
{
si = unshare_strinfo (si);
si->length = build_int_cst (size_type_node, 0);
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c
index 0faf1a93c9d..07253ec011d 100644
--- a/gcc/tree-vect-data-refs.c
+++ b/gcc/tree-vect-data-refs.c
@@ -2332,6 +2332,12 @@ vect_analyze_data_ref_access (struct data_reference *dr)
if (loop_vinfo && dr_step == 0)
{
GROUP_FIRST_ELEMENT (vinfo_for_stmt (stmt)) = NULL;
+ if (nested_in_vect_loop_p (loop, stmt))
+ {
+ if (vect_print_dump_info (REPORT_DETAILS))
+ fprintf (vect_dump, "zero step in inner loop of nest");
+ return false;
+ }
return DR_IS_READ (dr);
}
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c
index 964e5dd2c88..8dea3cfbd6c 100644
--- a/gcc/tree-vect-loop.c
+++ b/gcc/tree-vect-loop.c
@@ -4164,7 +4164,8 @@ vect_finalize_reduction:
result. (The reduction result is expected to have two immediate uses -
one at the latch block, and one at the loop exit). */
FOR_EACH_IMM_USE_FAST (use_p, imm_iter, scalar_dest)
- if (!flow_bb_inside_loop_p (loop, gimple_bb (USE_STMT (use_p))))
+ if (!flow_bb_inside_loop_p (loop, gimple_bb (USE_STMT (use_p)))
+ && !is_gimple_debug (USE_STMT (use_p)))
VEC_safe_push (gimple, heap, phis, USE_STMT (use_p));
/* We expect to have found an exit_phi because of loop-closed-ssa
@@ -4292,7 +4293,10 @@ vect_finalize_reduction:
FOR_EACH_IMM_USE_FAST (use_p, imm_iter, scalar_dest)
{
if (!flow_bb_inside_loop_p (loop, gimple_bb (USE_STMT (use_p))))
- VEC_safe_push (gimple, heap, phis, USE_STMT (use_p));
+ {
+ if (!is_gimple_debug (USE_STMT (use_p)))
+ VEC_safe_push (gimple, heap, phis, USE_STMT (use_p));
+ }
else
{
if (double_reduc && gimple_code (USE_STMT (use_p)) == GIMPLE_PHI)
@@ -4302,7 +4306,8 @@ vect_finalize_reduction:
FOR_EACH_IMM_USE_FAST (phi_use_p, phi_imm_iter, phi_res)
{
if (!flow_bb_inside_loop_p (loop,
- gimple_bb (USE_STMT (phi_use_p))))
+ gimple_bb (USE_STMT (phi_use_p)))
+ && !is_gimple_debug (USE_STMT (phi_use_p)))
VEC_safe_push (gimple, heap, phis,
USE_STMT (phi_use_p));
}
diff --git a/gnattools/ChangeLog b/gnattools/ChangeLog
index 133cd35e3d9..7bf9ddb9f0d 100644
--- a/gnattools/ChangeLog
+++ b/gnattools/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/include/ChangeLog b/include/ChangeLog
index 10d381836b1..95c3c9f3183 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/intl/ChangeLog b/intl/ChangeLog
index 139a9446eba..10259f088f8 100644
--- a/intl/ChangeLog
+++ b/intl/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/libada/ChangeLog b/libada/ChangeLog
index b46401c0f85..0157b271db8 100644
--- a/libada/ChangeLog
+++ b/libada/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index bfb1e194160..df5e3e5303e 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/libcpp/po/ChangeLog b/libcpp/po/ChangeLog
index 59908dc6dce..5b655c634eb 100644
--- a/libcpp/po/ChangeLog
+++ b/libcpp/po/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/libdecnumber/ChangeLog b/libdecnumber/ChangeLog
index 9fb29a80cc9..50a25b2caa7 100644
--- a/libdecnumber/ChangeLog
+++ b/libdecnumber/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/libffi/ChangeLog b/libffi/ChangeLog
index 50779683022..3889b2a9948 100644
--- a/libffi/ChangeLog
+++ b/libffi/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 45981daf6e6..17c5290d5e8 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2014-03-20 Joel Sherrill <joel.sherrill@oarcorp.com>
* config.host (v850*-*-*): Add to tmake_file instead of resetting it.
diff --git a/libgcc/config/libbid/ChangeLog b/libgcc/config/libbid/ChangeLog
index 4d10c69db91..d0aab4be48e 100644
--- a/libgcc/config/libbid/ChangeLog
+++ b/libgcc/config/libbid/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 75805d2bbcf..bcc0237988a 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,18 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
+2014-05-26 Janne Blomqvist <jb@gcc.gnu.org>
+
+ Backport from mainline
+ PR libfortran/61310
+ * intrinsics/ctime.c (strctime): Rename to gf_ctime, use snprintf
+ instead of strftime.
+ (fdate): Use gf_ctime.
+ (fdate_sub): Likewise.
+ (ctime): Likewise.
+ (ctime_sub): Likewise.
+
2014-05-16 Janne Blomqvist <jb@gcc.gnu.org>
Backport from trunk:
diff --git a/libgfortran/intrinsics/ctime.c b/libgfortran/intrinsics/ctime.c
index 05bf31fc779..86e8e565cb4 100644
--- a/libgfortran/intrinsics/ctime.c
+++ b/libgfortran/intrinsics/ctime.c
@@ -1,5 +1,5 @@
/* Implementation of the CTIME and FDATE g77 intrinsics.
- Copyright (C) 2005, 2007, 2009, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2005-2013 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
@@ -31,31 +31,53 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include <string.h>
-/* strftime-like function that fills a C string with %c format which
- is identical to ctime in the default locale. As ctime and ctime_r
- are poorly specified and their usage not recommended, the
- implementation instead uses strftime. */
+/* Maximum space a ctime-like string might need. A "normal" ctime
+ string is 26 bytes, and in our case 24 bytes as we don't include
+ the trailing newline and null. However, the longest possible year
+ number is -2,147,481,748 (1900 - 2,147,483,648, since tm_year is a
+ 32-bit signed integer) so an extra 7 bytes are needed. */
+#define CTIME_BUFSZ 31
-static size_t
-strctime (char *s, size_t max, const time_t *timep)
+
+/* Thread-safe ctime-like function that fills a Fortran
+ string. ctime_r is a portability headache and marked as obsolescent
+ in POSIX 2008, which recommends strftime in its place. However,
+ strftime(..., "%c",...) doesn't produce ctime-like output on
+ MinGW, so do it manually with snprintf. */
+
+static int
+gf_ctime (char *s, size_t max, const time_t timev)
{
struct tm ltm;
int failed;
+ char buf[CTIME_BUFSZ + 1];
/* Some targets provide a localtime_r based on a draft of the POSIX
standard where the return type is int rather than the
standardized struct tm*. */
- __builtin_choose_expr (__builtin_classify_type (localtime_r (timep, &ltm))
+ __builtin_choose_expr (__builtin_classify_type (localtime_r (&timev, &ltm))
== 5,
- failed = localtime_r (timep, &ltm) == NULL,
- failed = localtime_r (timep, &ltm) != 0);
+ failed = localtime_r (&timev, &ltm) == NULL,
+ failed = localtime_r (&timev, &ltm) != 0);
if (failed)
- return 0;
- return strftime (s, max, "%c", &ltm);
+ goto blank;
+ int n = snprintf (buf, sizeof (buf),
+ "%3.3s %3.3s%3d %.2d:%.2d:%.2d %d",
+ "SunMonTueWedThuFriSat" + ltm.tm_wday * 3,
+ "JanFebMarAprMayJunJulAugSepOctNovDec" + ltm.tm_mon * 3,
+ ltm.tm_mday, ltm.tm_hour, ltm.tm_min, ltm.tm_sec,
+ 1900 + ltm.tm_year);
+ if (n < 0)
+ goto blank;
+ if ((size_t) n <= max)
+ {
+ cf_strcpy (s, max, buf);
+ return n;
+ }
+ blank:
+ memset (s, ' ', max);
+ return 0;
}
-/* In the default locale, the date and time representation fits in 26
- bytes. However, other locales might need more space. */
-#define CSZ 100
extern void fdate (char **, gfc_charlen_type *);
export_proto(fdate);
@@ -64,8 +86,8 @@ void
fdate (char ** date, gfc_charlen_type * date_len)
{
time_t now = time(NULL);
- *date = get_mem (CSZ);
- *date_len = strctime (*date, CSZ, &now);
+ *date = get_mem (CTIME_BUFSZ);
+ *date_len = gf_ctime (*date, CTIME_BUFSZ, now);
}
@@ -76,10 +98,7 @@ void
fdate_sub (char * date, gfc_charlen_type date_len)
{
time_t now = time(NULL);
- char *s = get_mem (date_len + 1);
- size_t n = strctime (s, date_len + 1, &now);
- fstrcpy (date, date_len, s, n);
- free (s);
+ gf_ctime (date, date_len, now);
}
@@ -91,8 +110,8 @@ void
PREFIX(ctime) (char ** date, gfc_charlen_type * date_len, GFC_INTEGER_8 t)
{
time_t now = t;
- *date = get_mem (CSZ);
- *date_len = strctime (*date, CSZ, &now);
+ *date = get_mem (CTIME_BUFSZ);
+ *date_len = gf_ctime (*date, CTIME_BUFSZ, now);
}
@@ -103,8 +122,5 @@ void
ctime_sub (GFC_INTEGER_8 * t, char * date, gfc_charlen_type date_len)
{
time_t now = *t;
- char *s = get_mem (date_len + 1);
- size_t n = strctime (s, date_len + 1, &now);
- fstrcpy (date, date_len, s, n);
- free (s);
+ gf_ctime (date, date_len, now);
}
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 8d3bc356eff..f2cb30d2fe9 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2014-04-02 Richard Henderson <rth@redhat.com>
* config/linux/futex.h (futex_wait): Get error value from errno.
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index d63df9cd383..50571d412fb 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-11-15 Joseph Myers <joseph@codesourcery.com>
Backport from mainline:
diff --git a/libitm/ChangeLog b/libitm/ChangeLog
index b94cd32cfd1..56242bac9cf 100644
--- a/libitm/ChangeLog
+++ b/libitm/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2014-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config/generic/asmcfi.h: Also check for
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 4632912f9c0..2e9dcc562d6 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2014-03-11 Uros Bizjak <ubizjak@gmail.com>
* java/lang/natObject.cc (_Jv_MonitorEnter): Add missing parenthesis
diff --git a/libjava/classpath/ChangeLog b/libjava/classpath/ChangeLog
index a06cd1e6238..44f40de98ab 100644
--- a/libjava/classpath/ChangeLog
+++ b/libjava/classpath/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/libjava/libltdl/ChangeLog b/libjava/libltdl/ChangeLog
index 84447da3f22..88141db9409 100644
--- a/libjava/libltdl/ChangeLog
+++ b/libjava/libltdl/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/libmudflap/ChangeLog b/libmudflap/ChangeLog
index 48f74d60c42..26634fbc21f 100644
--- a/libmudflap/ChangeLog
+++ b/libmudflap/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog
index fc3b5c0aeba..5e211638051 100644
--- a/libobjc/ChangeLog
+++ b/libobjc/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/libquadmath/ChangeLog b/libquadmath/ChangeLog
index 855bdacdc82..928cd72993f 100644
--- a/libquadmath/ChangeLog
+++ b/libquadmath/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/libssp/ChangeLog b/libssp/ChangeLog
index 5dcf0df24b4..e7ae7f243fc 100644
--- a/libssp/ChangeLog
+++ b/libssp/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index fb49617b208..36c87cc1153 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,12 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
+2014-05-29 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/tr2/bool_set: Use UTF-8 for accented characters.
+ * scripts/run_doxygen: Handle Doxygen 1.8.x change.
+
2014-05-08 Joshua Gay <jgay@gnu.org>
PR libstdc++/61117
diff --git a/libstdc++-v3/include/tr2/bool_set b/libstdc++-v3/include/tr2/bool_set
index f577ed0c76c..7252a8067e7 100644
--- a/libstdc++-v3/include/tr2/bool_set
+++ b/libstdc++-v3/include/tr2/bool_set
@@ -44,7 +44,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* bool_set
*
* See N2136, Bool_set: multi-valued logic
- * by Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion.
+ * by Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion.
*
* The implicit conversion to bool is slippery! I may use the new
* explicit conversion. This has been specialized in the language
diff --git a/libstdc++-v3/scripts/run_doxygen b/libstdc++-v3/scripts/run_doxygen
index 45b3f4a066a..8f9c251f643 100644
--- a/libstdc++-v3/scripts/run_doxygen
+++ b/libstdc++-v3/scripts/run_doxygen
@@ -194,8 +194,15 @@ fi
if $do_latex; then
cd ${outdir}/${mode}
- # Also drop in the header file and style sheet
- doxygen -w latex header.tex doxygen.sty
+ # Grrr, Doxygen 1.8.x changed the -w latex options.
+ need_footer=`doxygen -h | sed -n -e '/-w latex/s=.*footer.*=true=p'`
+
+ # Also drop in the header file (maybe footer file) and style sheet
+ if $need_footer; then
+ doxygen -w latex header.tex footer.tex doxygen.sty
+ else
+ doxygen -w latex header.tex doxygen.sty
+ fi
echo ::
echo :: LaTeX pages begin with
diff --git a/lto-plugin/ChangeLog b/lto-plugin/ChangeLog
index 3e6d6938d5d..ff8bdb5b4fe 100644
--- a/lto-plugin/ChangeLog
+++ b/lto-plugin/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/maintainer-scripts/ChangeLog b/maintainer-scripts/ChangeLog
index c74b6cff836..f32ee87a07d 100644
--- a/maintainer-scripts/ChangeLog
+++ b/maintainer-scripts/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.
diff --git a/zlib/ChangeLog b/zlib/ChangeLog
index aeabcd9dbda..3a3687d1f9d 100644
--- a/zlib/ChangeLog
+++ b/zlib/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-12 Release Manager
+
+ * GCC 4.7.4 released.
+
2013-04-11 Release Manager
* GCC 4.7.3 released.