diff options
-rw-r--r-- | debian/changelog | 9 | ||||
-rw-r--r-- | debian/control | 1 | ||||
-rw-r--r-- | debian/control.m4 | 1 | ||||
-rw-r--r-- | debian/patches/pr61126.diff | 51 | ||||
-rw-r--r-- | debian/patches/svn-updates.diff | 646 | ||||
-rw-r--r-- | debian/rules.patch | 3 |
6 files changed, 678 insertions, 33 deletions
diff --git a/debian/changelog b/debian/changelog index e40680a..c36e1df 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,6 @@ -gcc-4.9 (4.9.0-3) UNRELEASED; urgency=medium +gcc-4.9 (4.9.0-3) unstable; urgency=medium - * Update to SVN 20140508 (r210210) from the gcc-4_9-branch. + * Update to SVN 20140512 (r210323) from the gcc-4_9-branch. [ Matthias Klose ] * Update build dependencies for ada enabled snapshot builds. @@ -14,12 +14,13 @@ gcc-4.9 (4.9.0-3) UNRELEASED; urgency=medium with_deps_on_target_arch_pkgs=yes (Helmit Grohne). Closes: #716795. * Build the gcc-X.Y-base package with with_deps_on_target_arch_pkgs=yes (Helmit Grohne). Addresses: #744782. - * Apply the proposed patch for PR driver/61106. Closes: #747345. + * Apply the proposed patches for PR driver/61106, PR driver/61126. + Closes: #747345. [ Aurelien Jarno ] * Fix libasan1 symbols file for sparc and sparc64. - -- Matthias Klose <doko@debian.org> Thu, 08 May 2014 14:30:02 +0200 + -- Matthias Klose <doko@debian.org> Tue, 13 May 2014 02:15:27 +0200 gcc-4.9 (4.9.0-2) unstable; urgency=medium diff --git a/debian/control b/debian/control index 99cc79d..44e54e7 100644 --- a/debian/control +++ b/debian/control @@ -12,6 +12,7 @@ Build-Depends: debhelper (>= 5.0.62), g++-multilib [amd64 i386 kfreebsd-amd64 mi autogen, zlib1g-dev, gawk, lzma, xz-utils, patchutils, binutils (>= 2.23.52) | binutils-multiarch (>= 2.23.52), binutils-hppa64 (>= 2.23.52) [hppa], gperf (>= 3.0.1), bison (>= 1:2.3), flex, gettext, + gdb (>= 7.6.2-1.1), texinfo (>= 4.3), locales, sharutils, procps, zlib1g-dev, libantlr-java, python, libffi-dev, fastjar, libmagic-dev, libecj-java (>= 3.3.0-2), zip, libasound2-dev [ !hurd-any !kfreebsd-any], libxtst-dev, libxt-dev, libgtk2.0-dev (>= 2.4.4-2), libart-2.0-dev, libcairo2-dev, netbase, libcloog-isl-dev (>= 0.18), libmpc-dev (>= 1.0), libmpfr-dev (>= 3.0.0-9~), libgmp-dev (>= 2:5.0.1~), diff --git a/debian/control.m4 b/debian/control.m4 index 9537ecb..2deb57f 100644 --- a/debian/control.m4 +++ b/debian/control.m4 @@ -70,6 +70,7 @@ Build-Depends: debhelper (>= 5.0.62), GCC_MULTILIB_BUILD_DEP autogen, zlib1g-dev, gawk, lzma, xz-utils, patchutils, BINUTILS_BUILD_DEP, binutils-hppa64 (>= BINUTILSBDV) [hppa], gperf (>= 3.0.1), bison (>= 1:2.3), flex, gettext, + gdb (>= 7.6.2-1.1), texinfo (>= 4.3), locales, sharutils, procps, FORTRAN_BUILD_DEP JAVA_BUILD_DEP GNAT_BUILD_DEP GO_BUILD_DEP GDC_BUILD_DEP CLOOG_BUILD_DEP MPC_BUILD_DEP MPFR_BUILD_DEP GMP_BUILD_DEP diff --git a/debian/patches/pr61126.diff b/debian/patches/pr61126.diff new file mode 100644 index 0000000..2c9aeb9 --- /dev/null +++ b/debian/patches/pr61126.diff @@ -0,0 +1,51 @@ +Index: gcc/fortran/lang.opt +=================================================================== +--- a/src/gcc/fortran/lang.opt (revision 210277) ++++ b/src/gcc/fortran/lang.opt (working copy) +@@ -301,6 +301,10 @@ + Fortran Warning + Warn about unused dummy arguments. + ++Wunused-parameter ++LangEnabledBy(Fortran,Wextra) ++; Documented in common.opt ++ + Wzerotrip + Fortran Warning + Warn about zero-trip DO loops +Index: gcc/fortran/options.c +=================================================================== +--- a/src/gcc/fortran/options.c (revision 210277) ++++ b/src/gcc/fortran/options.c (working copy) +@@ -674,12 +674,7 @@ + break; + + case OPT_Wextra: +- handle_generated_option (&global_options, &global_options_set, +- OPT_Wunused_parameter, NULL, value, +- gfc_option_lang_mask (), kind, loc, +- handlers, global_dc); + set_Wextra (value); +- + break; + + case OPT_Wfunction_elimination: +Index: gcc/opts-global.c +=================================================================== +--- a/src/gcc/opts-global.c (revision 210277) ++++ b/src/gcc/opts-global.c (working copy) +@@ -273,10 +273,10 @@ + handlers->unknown_option_callback = unknown_option_callback; + handlers->wrong_lang_callback = complain_wrong_lang; + handlers->num_handlers = 3; +- handlers->handlers[0].handler = lang_handle_option; +- handlers->handlers[0].mask = initial_lang_mask; +- handlers->handlers[1].handler = common_handle_option; +- handlers->handlers[1].mask = CL_COMMON; ++ handlers->handlers[0].handler = common_handle_option; ++ handlers->handlers[0].mask = CL_COMMON; ++ handlers->handlers[1].handler = lang_handle_option; ++ handlers->handlers[1].mask = initial_lang_mask; + handlers->handlers[2].handler = target_handle_option; + handlers->handlers[2].mask = CL_TARGET; + } diff --git a/debian/patches/svn-updates.diff b/debian/patches/svn-updates.diff index 72493c7..925905d 100644 --- a/debian/patches/svn-updates.diff +++ b/debian/patches/svn-updates.diff @@ -1,10 +1,10 @@ -# DP: updates from the 4.9 branch upto 20140508 (r210210). +# DP: updates from the 4.9 branch upto 20140508 (r210323). last_updated() { cat > ${dir}LAST_UPDATED <<EOF -Thu May 8 14:23:10 CEST 2014 -Thu May 8 12:23:10 UTC 2014 (revision 210210) +Mon May 12 11:40:03 CEST 2014 +Mon May 12 09:40:03 UTC 2014 (revision 210323) EOF } @@ -748,6 +748,45 @@ Index: libstdc++-v3/python/libstdcxx/v6/printers.py # FIXME: this is weird ... what to do? # Maybe a 'set' display hint? result = ('[%d]' % self.count, item) +Index: libstdc++-v3/src/c++98/ios_init.cc +=================================================================== +--- a/src/libstdc++-v3/src/c++98/ios_init.cc (.../tags/gcc_4_9_0_release) ++++ b/src/libstdc++-v3/src/c++98/ios_init.cc (.../branches/gcc-4_9-branch) +@@ -37,7 +37,7 @@ + { + using namespace __gnu_cxx; + +- // Extern declarations for global objects in src/globals.cc. ++ // Extern declarations for global objects in src/c++98/globals.cc. + extern stdio_sync_filebuf<char> buf_cout_sync; + extern stdio_sync_filebuf<char> buf_cin_sync; + extern stdio_sync_filebuf<char> buf_cerr_sync; +Index: libstdc++-v3/doc/xml/faq.xml +=================================================================== +--- a/src/libstdc++-v3/doc/xml/faq.xml (.../tags/gcc_4_9_0_release) ++++ b/src/libstdc++-v3/doc/xml/faq.xml (.../branches/gcc-4_9-branch) +@@ -241,7 +241,7 @@ + </question> + <answer xml:id="a-license.what_restrictions"> + <para> +- None. We encourage such programs to be released as open source, ++ None. We encourage such programs to be released as free software, + but we won't punish you or sue you if you choose otherwise. + </para> + </answer> +Index: libstdc++-v3/doc/html/faq.html +=================================================================== +--- a/src/libstdc++-v3/doc/html/faq.html (.../tags/gcc_4_9_0_release) ++++ b/src/libstdc++-v3/doc/html/faq.html (.../branches/gcc-4_9-branch) +@@ -223,7 +223,7 @@ + </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.license.what_restrictions"></a><a id="q-license.what_restrictions"></a><p><strong>2.4.</strong></p></td><td align="left" valign="top"><p> + I see. So, what restrictions are there on programs that use the library? + </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.what_restrictions"></a></td><td align="left" valign="top"><p> +- None. We encourage such programs to be released as open source, ++ None. We encourage such programs to be released as free software, + but we won't punish you or sue you if you choose otherwise. + </p></td></tr><tr class="toc"><td align="left" valign="top" colspan="2"><dl><dt>3.1. <a href="faq.html#faq.how_to_install">How do I install libstdc++? + </a></dt><dt>3.2. <a href="faq.html#faq.how_to_get_sources">How does one get current libstdc++ sources? Index: libstdc++-v3/include/debug/vector =================================================================== --- a/src/libstdc++-v3/include/debug/vector (.../tags/gcc_4_9_0_release) @@ -761,6 +800,27 @@ Index: libstdc++-v3/include/debug/vector #else return __first; #endif +Index: libstdc++-v3/include/std/iostream +=================================================================== +--- a/src/libstdc++-v3/include/std/iostream (.../tags/gcc_4_9_0_release) ++++ b/src/libstdc++-v3/include/std/iostream (.../branches/gcc-4_9-branch) +@@ -48,13 +48,13 @@ + * + * The <iostream> header declares the eight <em>standard stream + * objects</em>. For other declarations, see +- * http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt11ch24.html ++ * http://gcc.gnu.org/onlinedocs/libstdc++/manual/io.html + * and the @link iosfwd I/O forward declarations @endlink + * + * They are required by default to cooperate with the global C + * library's @c FILE streams, and to be available during program +- * startup and termination. For more information, see the HOWTO +- * linked to above. ++ * startup and termination. For more information, see the section of the ++ * manual linked to above. + */ + //@{ + extern istream cin; /// Linked to standard input Index: libstdc++-v3/include/std/tuple =================================================================== --- a/src/libstdc++-v3/include/std/tuple (.../tags/gcc_4_9_0_release) @@ -1005,7 +1065,19 @@ Index: libstdc++-v3/ChangeLog =================================================================== --- a/src/libstdc++-v3/ChangeLog (.../tags/gcc_4_9_0_release) +++ b/src/libstdc++-v3/ChangeLog (.../branches/gcc-4_9-branch) -@@ -1,3 +1,74 @@ +@@ -1,3 +1,86 @@ ++2014-05-08 Joshua Gay <jgay@gnu.org> ++ ++ PR libstdc++/61117 ++ * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open ++ source" with "free software". ++ * doc/html/faq.html: Likewise. ++ ++2014-05-08 Jonathan Wakely <jwakely@redhat.com> ++ ++ * include/std/iostream: Fix URL in comment. ++ * src/c++98/ios_init.cc: Fix path in comment. ++ +2014-05-07 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/61023 @@ -1558,6 +1630,76 @@ Index: libstdc++-v3/testsuite/20_util/function/60594.cc + F g{ &func }; + g = func; +} +Index: libbacktrace/ChangeLog +=================================================================== +--- a/src/libbacktrace/ChangeLog (.../tags/gcc_4_9_0_release) ++++ b/src/libbacktrace/ChangeLog (.../branches/gcc-4_9-branch) +@@ -1,3 +1,12 @@ ++2014-05-08 Ian Lance Taylor <iant@google.com> ++ ++ Backport from mainline: ++ * mmap.c (backtrace_free): If freeing a large aligned block of ++ memory, call munmap rather than holding onto it. ++ (backtrace_vector_grow): When growing a vector, double the number ++ of pages requested. When releasing the old version of a grown ++ vector, pass the correct size to backtrace_free. ++ + 2014-04-22 Release Manager + + * GCC 4.9.0 released. +Index: libbacktrace/mmap.c +=================================================================== +--- a/src/libbacktrace/mmap.c (.../tags/gcc_4_9_0_release) ++++ b/src/libbacktrace/mmap.c (.../branches/gcc-4_9-branch) +@@ -164,6 +164,26 @@ + { + int locked; + ++ /* If we are freeing a large aligned block, just release it back to ++ the system. This case arises when growing a vector for a large ++ binary with lots of debug info. Calling munmap here may cause us ++ to call mmap again if there is also a large shared library; we ++ just live with that. */ ++ if (size >= 16 * 4096) ++ { ++ size_t pagesize; ++ ++ pagesize = getpagesize (); ++ if (((uintptr_t) addr & (pagesize - 1)) == 0 ++ && (size & (pagesize - 1)) == 0) ++ { ++ /* If munmap fails for some reason, just add the block to ++ the freelist. */ ++ if (munmap (addr, size) == 0) ++ return; ++ } ++ } ++ + /* If we can acquire the lock, add the new space to the free list. + If we can't acquire the lock, just leak the memory. + __sync_lock_test_and_set returns the old state of the lock, so we +@@ -209,7 +229,10 @@ + alc = pagesize; + } + else +- alc = (alc + pagesize - 1) & ~ (pagesize - 1); ++ { ++ alc *= 2; ++ alc = (alc + pagesize - 1) & ~ (pagesize - 1); ++ } + base = backtrace_alloc (state, alc, error_callback, data); + if (base == NULL) + return NULL; +@@ -216,7 +239,8 @@ + if (vec->base != NULL) + { + memcpy (base, vec->base, vec->size); +- backtrace_free (state, vec->base, vec->alc, error_callback, data); ++ backtrace_free (state, vec->base, vec->size + vec->alc, ++ error_callback, data); + } + vec->base = base; + vec->alc = alc - vec->size; Index: libgcc/ChangeLog =================================================================== --- a/src/libgcc/ChangeLog (.../tags/gcc_4_9_0_release) @@ -1824,7 +1966,7 @@ Index: gcc/DATESTAMP +++ b/src/gcc/DATESTAMP (.../branches/gcc-4_9-branch) @@ -1 +1 @@ -20140422 -+20140508 ++20140512 Index: gcc/tree-tailcall.c =================================================================== --- a/src/gcc/tree-tailcall.c (.../tags/gcc_4_9_0_release) @@ -2132,7 +2274,50 @@ Index: gcc/ChangeLog =================================================================== --- a/src/gcc/ChangeLog (.../tags/gcc_4_9_0_release) +++ b/src/gcc/ChangeLog (.../branches/gcc-4_9-branch) -@@ -1,3 +1,503 @@ +@@ -1,3 +1,546 @@ ++2014-05-09 Uros Bizjak <ubizjak@gmail.com> ++ ++ Backport from mainline ++ 2014-05-08 Uros Bizjak <ubizjak@gmail.com> ++ ++ PR target/61092 ++ * config/alpha/alpha.c: Include gimple-iterator.h. ++ (alpha_gimple_fold_builtin): New function. Move ++ ALPHA_BUILTIN_UMULH folding from ... ++ (alpha_fold_builtin): ... here. ++ (TARGET_GIMPLE_FOLD_BUILTIN): New define. ++ ++2014-05-09 Pitchumani Sivanupandi <Pitchumani.S@atmel.com> ++ ++ Backport from 2014-04-16 trunk r209446 ++ 2014-04-16 Pitchumani Sivanupandi <Pitchumani.S@atmel.com> ++ ++ * config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro. ++ ++2014-05-09 Georg-Johann Lay <avr@gjlay.de> ++ ++ Backport from 2014-05-09 trunk r210267 ++ ++ PR target/61055 ++ * config/avr/avr.md (cc): Add new attribute set_vzn. ++ (addqi3, addqq3, adduqq3, subqi3, subqq3, subuqq3, negqi2) [cc]: ++ Set cc insn attribute to set_vzn instead of set_zn for alternatives ++ with INC, DEC or NEG. ++ * config/avr/avr.c (avr_notice_update_cc): Handle SET_VZN. ++ (avr_out_plus_1): ADIW sets cc0 to CC_SET_CZN. ++ INC, DEC and ADD+ADC set cc0 to CC_CLOBBER. ++ ++2014-05-08 Manuel López-Ibáñez <manu@gcc.gnu.org> ++ Matthias Klose <doko@ubuntu.com> ++ ++ PR driver/61106 ++ * optc-gen.awk: Fix option handling for -Wunused-parameter. ++ ++2014-05-08 Uros Bizjak <ubizjak@gmail.com> ++ ++ PR target/59952 ++ * config/i386/i386.c (PTA_HASWELL): Remove PTA_RTM. ++ +2014-05-05 Marek Polacek <polacek@redhat.com> + + Back port from mainline @@ -2636,7 +2821,7 @@ Index: gcc/ChangeLog 2014-04-22 Release Manager * GCC 4.9.0 released. -@@ -59,8 +564,7 @@ +@@ -59,8 +607,7 @@ 2014-04-11 Tobias Burnus <burnus@net-b.de> PR other/59055 @@ -2646,7 +2831,7 @@ Index: gcc/ChangeLog * doc/gcc.texi (Service): Update description in the @menu * doc/invoke.texi (Option Summary): Remove misplaced and duplicated @menu. -@@ -86,15 +590,14 @@ +@@ -86,15 +633,14 @@ 2014-04-11 Jakub Jelinek <jakub@redhat.com> PR rtl-optimization/60663 @@ -2665,7 +2850,7 @@ Index: gcc/ChangeLog 2014-04-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> -@@ -212,9 +715,10 @@ +@@ -212,9 +758,10 @@ 2014-04-05 Pitchumani Sivanupandi <Pitchumani.S@atmel.com> @@ -2679,7 +2864,7 @@ Index: gcc/ChangeLog * config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available. * config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for -@@ -282,21 +786,21 @@ +@@ -282,21 +829,21 @@ 2014-04-04 Martin Jambor <mjambor@suse.cz> PR ipa/60640 @@ -2712,7 +2897,7 @@ Index: gcc/ChangeLog moved setting of a lot of flags to set_new_clone_decl_and_node_flags. 2014-04-04 Jeff Law <law@redhat.com> -@@ -334,8 +838,8 @@ +@@ -334,8 +881,8 @@ PR tree-optimization/60505 * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the @@ -2723,7 +2908,7 @@ Index: gcc/ChangeLog * tree-vect-loop.c (new_loop_vec_info): Initialize LOOP_VINFO_COST_MODEL_THRESHOLD. * tree-vect-loop.c (vect_analyze_loop_operations): -@@ -347,8 +851,7 @@ +@@ -347,8 +894,7 @@ 2014-04-03 Richard Biener <rguenther@suse.de> @@ -2733,7 +2918,7 @@ Index: gcc/ChangeLog (streamer_tree_cache_create): Adjust. * tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust to allow optional nodes array. -@@ -359,8 +862,7 @@ +@@ -359,8 +905,7 @@ * lto-streamer-out.c (create_output_block): Avoid maintaining the node array in the writer cache. (DFS_write_tree): Remove assertion. @@ -2743,7 +2928,7 @@ Index: gcc/ChangeLog * lto-streamer-in.c (lto_data_in_create): Adjust for streamer_tree_cache_create prototype change. -@@ -381,24 +883,6 @@ +@@ -381,24 +926,6 @@ (Weffc++): Remove Scott's numbering, merge lists and reference Wnon-virtual-dtor. @@ -2768,7 +2953,7 @@ Index: gcc/ChangeLog 2014-04-03 Nick Clifton <nickc@redhat.com> * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF)) -@@ -414,8 +898,8 @@ +@@ -414,8 +941,8 @@ 2014-04-02 Jan Hubicka <hubicka@ucw.cz> PR ipa/60659 @@ -2779,7 +2964,7 @@ Index: gcc/ChangeLog (possible_polymorphic_call_targets): For inconsistent contexts return empty complete list. -@@ -519,8 +1003,7 @@ +@@ -519,8 +1046,7 @@ 2014-04-01 Richard Biener <rguenther@suse.de> @@ -3650,6 +3835,99 @@ Index: gcc/testsuite/gcc.target/powerpc/ti_math2.c + return 0; +} + +Index: gcc/testsuite/gcc.target/avr/torture/pr61055.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/avr/torture/pr61055.c (.../tags/gcc_4_9_0_release) ++++ b/src/gcc/testsuite/gcc.target/avr/torture/pr61055.c (.../branches/gcc-4_9-branch) +@@ -0,0 +1,88 @@ ++/* { dg-do run } */ ++/* { dg-options { -fno-peephole2 } } */ ++ ++#include <stdlib.h> ++ ++typedef __UINT16_TYPE__ uint16_t; ++typedef __INT16_TYPE__ int16_t; ++typedef __UINT8_TYPE__ uint8_t; ++ ++uint8_t __attribute__((noinline,noclone)) ++fun_inc (uint8_t c0) ++{ ++ register uint8_t c asm ("r15") = c0; ++ ++ /* Force target value into R15 (lower register) */ ++ asm ("" : "+l" (c)); ++ ++ c++; ++ if (c >= 0x80) ++ c = 0; ++ ++ asm ("" : "+l" (c)); ++ ++ return c; ++} ++ ++uint8_t __attribute__((noinline,noclone)) ++fun_dec (uint8_t c0) ++{ ++ register uint8_t c asm ("r15") = c0; ++ ++ /* Force target value into R15 (lower register) */ ++ asm ("" : "+l" (c)); ++ ++ c--; ++ if (c < 0x80) ++ c = 0; ++ ++ asm ("" : "+l" (c)); ++ ++ return c; ++} ++ ++ ++uint8_t __attribute__((noinline,noclone)) ++fun_neg (uint8_t c0) ++{ ++ register uint8_t c asm ("r15") = c0; ++ ++ c = -c; ++ if (c >= 0x80) ++ c = 0; ++ ++ return c; ++} ++ ++uint16_t __attribute__((noinline,noclone)) ++fun_adiw (uint16_t c0) ++{ ++ register uint16_t c asm ("r24") = c0; ++ ++ /* Force target value into R24 (for ADIW) */ ++ asm ("" : "+r" (c)); ++ ++ c += 2; ++ if (c >= 0x8000) ++ c = 0; ++ ++ asm ("" : "+r" (c)); ++ ++ return c; ++} ++ ++ ++int main() ++{ ++ if (fun_inc (0x7f) != 0) ++ abort(); ++ ++ if (fun_neg (0x80) != 0) ++ abort(); ++ ++ if (fun_adiw (0x7ffe) != 0) ++ abort(); ++ ++ exit (0); ++ return 0; ++} Index: gcc/testsuite/gcc.target/i386/vec-may_alias.c =================================================================== --- a/src/gcc/testsuite/gcc.target/i386/vec-may_alias.c (.../tags/gcc_4_9_0_release) @@ -3806,6 +4084,24 @@ Index: gcc/testsuite/gfortran.dg/finalize_25.f90 + i=s + end subroutine ndm2 +end program main +Index: gcc/testsuite/gfortran.dg/list_read_13.f +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/list_read_13.f (.../tags/gcc_4_9_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/list_read_13.f (.../branches/gcc-4_9-branch) +@@ -0,0 +1,13 @@ ++c { dg-do run } ++c PR61049, reduced test case by Dominique d'Humieres ++ character(len=30) :: buff = ", (2.0, 3.0),,6.0D0, 2*," ++ DOUBLE PRECISION AVD, BVD, CVD, DVCORR ++ COMPLEX AVC, BVC, CVC, ZVCORR ++ ++ read(buff, *, err=10) AVD, AVC, BVC, BVD, CVC, CVD ++ goto 20 ++ 10 call abort ++ 20 continue ++ end ++ ++ Index: gcc/testsuite/gcc.c-torture/execute/20140425-1.c =================================================================== --- a/src/gcc/testsuite/gcc.c-torture/execute/20140425-1.c (.../tags/gcc_4_9_0_release) @@ -4004,6 +4300,15 @@ Index: gcc/testsuite/gcc.dg/vmx/merge-vsx.c + check (vec_all_eq (vfh, vfrh), "vfh"); + check (vec_all_eq (vfl, vfrl), "vfl"); } +Index: gcc/testsuite/gcc.dg/unused-8a.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/unused-8a.c (.../tags/gcc_4_9_0_release) ++++ b/src/gcc/testsuite/gcc.dg/unused-8a.c (.../branches/gcc-4_9-branch) +@@ -0,0 +1,4 @@ ++/* { dg-do compile } */ ++/* { dg-options "-Wall -Wextra -Wno-unused" } */ ++ ++void foo(int x) { } Index: gcc/testsuite/gcc.dg/graphite/pr55022.c =================================================================== --- a/src/gcc/testsuite/gcc.dg/graphite/pr55022.c (.../tags/gcc_4_9_0_release) @@ -4253,6 +4558,15 @@ Index: gcc/testsuite/gcc.dg/torture/pr57864.c +{ + fn1 (0, 0, 0); +} +Index: gcc/testsuite/gcc.dg/unused-8b.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/unused-8b.c (.../tags/gcc_4_9_0_release) ++++ b/src/gcc/testsuite/gcc.dg/unused-8b.c (.../branches/gcc-4_9-branch) +@@ -0,0 +1,4 @@ ++/* { dg-do compile } */ ++/* { dg-options "-Wall -Wno-unused -Wextra" } */ ++ ++void foo(int x) { } Index: gcc/testsuite/gcc.dg/tree-ssa/alias-30.c =================================================================== --- a/src/gcc/testsuite/gcc.dg/tree-ssa/alias-30.c (.../tags/gcc_4_9_0_release) @@ -4487,7 +4801,26 @@ Index: gcc/testsuite/ChangeLog =================================================================== --- a/src/gcc/testsuite/ChangeLog (.../tags/gcc_4_9_0_release) +++ b/src/gcc/testsuite/ChangeLog (.../branches/gcc-4_9-branch) -@@ -1,3 +1,238 @@ +@@ -1,3 +1,257 @@ ++2014-05-10 Jerry DeLisle <jvdelisle@gcc.gnu> ++ ++ Backport from trunk. ++ PR libfortran/61049 ++ * gfortran.dg/list_read_13.f: New test. ++ ++2014-05-09 Georg-Johann Lay <avr@gjlay.de> ++ ++ Backport from 2014-05-09 trunk r210267 ++ ++ PR target/61055 ++ * gcc.target/avr/torture/pr61055.c: New test. ++ ++2014-05-08 Matthias Klose <doko@ubuntu.com> ++ ++ PR driver/61106 ++ * gcc-dg/unused-8a.c: New. ++ * gcc-dg/unused-8b.c: Likewise. ++ +2014-05-07 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/61083 @@ -4726,7 +5059,7 @@ Index: gcc/testsuite/ChangeLog 2014-04-22 Release Manager * GCC 4.9.0 released. -@@ -51,7 +286,7 @@ +@@ -51,7 +305,7 @@ 2014-04-12 Jerry DeLisle <jvdelisle@gcc.gnu> PR libfortran/60810 @@ -4735,7 +5068,7 @@ Index: gcc/testsuite/ChangeLog 2014-04-11 Steve Ellcey <sellcey@mips.com> Jakub Jelinek <jakub@redhat.com> -@@ -135,8 +370,7 @@ +@@ -135,8 +389,7 @@ 2014-04-08 Jason Merrill <jason@redhat.com> @@ -4745,7 +5078,7 @@ Index: gcc/testsuite/ChangeLog 2014-04-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> -@@ -256,10 +490,10 @@ +@@ -256,10 +509,10 @@ 2014-04-04 Martin Jambor <mjambor@suse.cz> PR ipa/60640 @@ -4760,7 +5093,7 @@ Index: gcc/testsuite/ChangeLog 2014-04-04 Jeff Law <law@redhat.com> -@@ -371,7 +605,7 @@ +@@ -371,7 +624,7 @@ 2014-04-01 Fabien Chêne <fabien@gcc.gnu.org> @@ -4769,7 +5102,7 @@ Index: gcc/testsuite/ChangeLog * g++.dg/init/ctor4-1.C: New. * g++.dg/cpp0x/defaulted2.C: Adjust. -@@ -459,8 +693,8 @@ +@@ -459,8 +712,8 @@ 2014-03-27 Jeff Law <law@redhat.com> @@ -4780,7 +5113,7 @@ Index: gcc/testsuite/ChangeLog 2014-03-28 Adam Butcher <adam@jessamine.co.uk> -@@ -493,14 +727,13 @@ +@@ -493,14 +746,13 @@ 2014-03-28 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> @@ -4798,7 +5131,7 @@ Index: gcc/testsuite/ChangeLog of second source operand. * gcc.target/i386/avx512f-vshuff64x2-2.c: Ditto. * gcc.target/i386/avx512f-vshufi32x4-2.c: Ditto. -@@ -635,8 +868,8 @@ +@@ -635,8 +887,8 @@ 2014-03-24 Marek Polacek <polacek@redhat.com> @@ -4809,7 +5142,7 @@ Index: gcc/testsuite/ChangeLog * c-c++-common/ubsan/overflow-1.c: Check for unwanted output. * c-c++-common/ubsan/overflow-add-1.c: Likewise. * c-c++-common/ubsan/overflow-mul-1.c: Likewise. -@@ -721,8 +954,7 @@ +@@ -721,8 +973,7 @@ 2014-03-21 Tobias Burnus <burnus@net-b.de> PR fortran/60599 @@ -4819,7 +5152,7 @@ Index: gcc/testsuite/ChangeLog 2014-03-20 Jakub Jelinek <jakub@redhat.com> -@@ -1540,8 +1772,7 @@ +@@ -1540,8 +1791,7 @@ 2014-02-19 Paul Pluzhnikov <ppluzhnikov@google.com> @@ -4829,7 +5162,7 @@ Index: gcc/testsuite/ChangeLog 2014-02-19 Jakub Jelinek <jakub@redhat.com> -@@ -1850,8 +2081,7 @@ +@@ -1850,8 +2100,7 @@ 2014-02-10 Jakub Jelinek <jakub@redhat.com> @@ -4839,7 +5172,7 @@ Index: gcc/testsuite/ChangeLog 2014-02-09 Paul Thomas <pault@gcc.gnu.org> -@@ -3098,8 +3328,8 @@ +@@ -3098,8 +3347,8 @@ * gfortran.dg/vect/fast-math-mgrid-resid.f: Change -fdump-tree-optimized to -fdump-tree-pcom-details in dg-options and cleanup-tree-dump from optimized to pcom. Remove scan-tree-dump-times @@ -6119,6 +6452,26 @@ Index: gcc/opts.c if (comma == NULL) break; +Index: gcc/optc-gen.awk +=================================================================== +--- a/src/gcc/optc-gen.awk (.../tags/gcc_4_9_0_release) ++++ b/src/gcc/optc-gen.awk (.../branches/gcc-4_9-branch) +@@ -406,11 +406,13 @@ + if (opt_var_name != "") { + condition = "!opts_set->x_" opt_var_name + if (thisenableif[j] != "") { +- condition = condition " && (" thisenableif[j] ")" ++ value = "(" thisenableif[j] ")" ++ } else { ++ value = "value" + } + print " if (" condition ")" + print " handle_generated_option (opts, opts_set," +- print " " opt_enum(thisenable[j]) ", NULL, value," ++ print " " opt_enum(thisenable[j]) ", NULL, " value "," + print " lang_mask, kind, loc, handlers, dc);" + } else { + print "#error " thisenable[j] " does not have a Var() flag" Index: gcc/common/config/msp430/msp430-common.c =================================================================== --- a/src/gcc/common/config/msp430/msp430-common.c (.../tags/gcc_4_9_0_release) @@ -7320,6 +7673,87 @@ Index: gcc/tree-ssa-reassoc.c release_defs (stmt); /* We might end up removing the last stmt above which places the iterator to the end of the sequence. +Index: gcc/config/alpha/alpha.c +=================================================================== +--- a/src/gcc/config/alpha/alpha.c (.../tags/gcc_4_9_0_release) ++++ b/src/gcc/config/alpha/alpha.c (.../branches/gcc-4_9-branch) +@@ -62,6 +62,7 @@ + #include "gimple-expr.h" + #include "is-a.h" + #include "gimple.h" ++#include "gimple-iterator.h" + #include "gimplify.h" + #include "gimple-ssa.h" + #include "stringpool.h" +@@ -7042,9 +7043,6 @@ + case ALPHA_BUILTIN_MSKQH: + return alpha_fold_builtin_mskxx (op, opint, op_const, 0xff, true); + +- case ALPHA_BUILTIN_UMULH: +- return fold_build2 (MULT_HIGHPART_EXPR, alpha_dimode_u, op[0], op[1]); +- + case ALPHA_BUILTIN_ZAP: + opint[1] ^= 0xff; + /* FALLTHRU */ +@@ -7094,6 +7092,49 @@ + return NULL; + } + } ++ ++bool ++alpha_gimple_fold_builtin (gimple_stmt_iterator *gsi) ++{ ++ bool changed = false; ++ gimple stmt = gsi_stmt (*gsi); ++ tree call = gimple_call_fn (stmt); ++ gimple new_stmt = NULL; ++ ++ if (call) ++ { ++ tree fndecl = gimple_call_fndecl (stmt); ++ ++ if (fndecl) ++ { ++ tree arg0, arg1; ++ ++ switch (DECL_FUNCTION_CODE (fndecl)) ++ { ++ case ALPHA_BUILTIN_UMULH: ++ arg0 = gimple_call_arg (stmt, 0); ++ arg1 = gimple_call_arg (stmt, 1); ++ ++ new_stmt ++ = gimple_build_assign_with_ops (MULT_HIGHPART_EXPR, ++ gimple_call_lhs (stmt), ++ arg0, ++ arg1); ++ break; ++ default: ++ break; ++ } ++ } ++ } ++ ++ if (new_stmt) ++ { ++ gsi_replace (gsi, new_stmt, true); ++ changed = true; ++ } ++ ++ return changed; ++} + + /* This page contains routines that are used to determine what the function + prologue and epilogue code will do and write them out. */ +@@ -9790,6 +9831,8 @@ + #define TARGET_EXPAND_BUILTIN alpha_expand_builtin + #undef TARGET_FOLD_BUILTIN + #define TARGET_FOLD_BUILTIN alpha_fold_builtin ++#undef TARGET_GIMPLE_FOLD_BUILTIN ++#define TARGET_GIMPLE_FOLD_BUILTIN alpha_gimple_fold_builtin + + #undef TARGET_FUNCTION_OK_FOR_SIBCALL + #define TARGET_FUNCTION_OK_FOR_SIBCALL alpha_function_ok_for_sibcall Index: gcc/config/sparc/sparc.md =================================================================== --- a/src/gcc/config/sparc/sparc.md (.../tags/gcc_4_9_0_release) @@ -7446,6 +7880,15 @@ Index: gcc/config/i386/i386.c =================================================================== --- a/src/gcc/config/i386/i386.c (.../tags/gcc_4_9_0_release) +++ b/src/gcc/config/i386/i386.c (.../branches/gcc-4_9-branch) +@@ -3128,7 +3128,7 @@ + (PTA_SANDYBRIDGE | PTA_FSGSBASE | PTA_RDRND | PTA_F16C) + #define PTA_HASWELL \ + (PTA_IVYBRIDGE | PTA_AVX2 | PTA_BMI | PTA_BMI2 | PTA_LZCNT \ +- | PTA_FMA | PTA_MOVBE | PTA_RTM | PTA_HLE) ++ | PTA_FMA | PTA_MOVBE | PTA_HLE) + #define PTA_BROADWELL \ + (PTA_HASWELL | PTA_ADX | PTA_PRFCHW | PTA_RDSEED) + #define PTA_BONNELL \ @@ -24390,7 +24390,8 @@ if (jump_around_label == NULL_RTX) jump_around_label = gen_label_rtx (); @@ -7502,6 +7945,102 @@ Index: gcc/config/sh/sh.c int code_for_indirect_jump_scratch = CODE_FOR_indirect_jump_scratch; /* These are some macros to abstract register modes. */ +Index: gcc/config/avr/avr.md +=================================================================== +--- a/src/gcc/config/avr/avr.md (.../tags/gcc_4_9_0_release) ++++ b/src/gcc/config/avr/avr.md (.../branches/gcc-4_9-branch) +@@ -90,7 +90,7 @@ + (include "constraints.md") + + ;; Condition code settings. +-(define_attr "cc" "none,set_czn,set_zn,set_n,compare,clobber, ++(define_attr "cc" "none,set_czn,set_zn,set_vzn,set_n,compare,clobber, + plus,ldi" + (const_string "none")) + +@@ -1098,7 +1098,7 @@ + inc %0\;inc %0 + dec %0\;dec %0" + [(set_attr "length" "1,1,1,1,2,2") +- (set_attr "cc" "set_czn,set_czn,set_zn,set_zn,set_zn,set_zn")]) ++ (set_attr "cc" "set_czn,set_czn,set_vzn,set_vzn,set_vzn,set_vzn")]) + + ;; "addhi3" + ;; "addhq3" "adduhq3" +@@ -1369,7 +1369,7 @@ + dec %0\;dec %0 + inc %0\;inc %0" + [(set_attr "length" "1,1,1,1,2,2") +- (set_attr "cc" "set_czn,set_czn,set_zn,set_zn,set_zn,set_zn")]) ++ (set_attr "cc" "set_czn,set_czn,set_vzn,set_vzn,set_vzn,set_vzn")]) + + ;; "subhi3" + ;; "subhq3" "subuhq3" +@@ -3992,7 +3992,7 @@ + "" + "neg %0" + [(set_attr "length" "1") +- (set_attr "cc" "set_zn")]) ++ (set_attr "cc" "set_vzn")]) + + (define_insn "*negqihi2" + [(set (match_operand:HI 0 "register_operand" "=r") +Index: gcc/config/avr/avr-mcus.def +=================================================================== +--- a/src/gcc/config/avr/avr-mcus.def (.../tags/gcc_4_9_0_release) ++++ b/src/gcc/config/avr/avr-mcus.def (.../branches/gcc-4_9-branch) +@@ -291,7 +291,7 @@ + AVR_MCU ("atxmega192d3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega192D3__", 0x2000, 4, "x192d3") + AVR_MCU ("atxmega256a3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega256A3__", 0x2000, 5, "x256a3") + AVR_MCU ("atxmega256a3b", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega256A3B__", 0x2000, 5, "x256a3b") +-AVR_MCU ("atxmega256a3bu", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega258A3BU__", 0x2000, 5, "x256a3bu") ++AVR_MCU ("atxmega256a3bu", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega256A3BU__", 0x2000, 5, "x256a3bu") + AVR_MCU ("atxmega256d3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega256D3__", 0x2000, 5, "x256d3") + AVR_MCU ("atxmega128a3u", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega128A3U__", 0x2000, 3, "x128a3u") + AVR_MCU ("atxmega128b1", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega128B1__", 0x2000, 3, "x128b1") +Index: gcc/config/avr/avr.c +=================================================================== +--- a/src/gcc/config/avr/avr.c (.../tags/gcc_4_9_0_release) ++++ b/src/gcc/config/avr/avr.c (.../branches/gcc-4_9-branch) +@@ -2353,6 +2353,12 @@ + } + break; + ++ case CC_SET_VZN: ++ /* Insn like INC, DEC, NEG that set Z,N,V. We currently don't make use ++ of this combination, cf. also PR61055. */ ++ CC_STATUS_INIT; ++ break; ++ + case CC_SET_CZN: + /* Insn sets the Z,N,C flags of CC to recog_operand[0]. + The V flag may or may not be known but that's ok because +@@ -6284,7 +6290,7 @@ + + if (REG_P (xop[2])) + { +- *pcc = MINUS == code ? (int) CC_SET_CZN : (int) CC_SET_N; ++ *pcc = MINUS == code ? (int) CC_SET_CZN : (int) CC_CLOBBER; + + for (i = 0; i < n_bytes; i++) + { +@@ -6393,7 +6399,7 @@ + op, plen, 1); + + if (n_bytes == 2 && PLUS == code) +- *pcc = CC_SET_ZN; ++ *pcc = CC_SET_CZN; + } + + i++; +@@ -6416,6 +6422,7 @@ + { + avr_asm_len ((code == PLUS) ^ (val8 == 1) ? "dec %0" : "inc %0", + op, plen, 1); ++ *pcc = CC_CLOBBER; + break; + } + Index: gcc/config/aarch64/aarch64.h =================================================================== --- a/src/gcc/config/aarch64/aarch64.h (.../tags/gcc_4_9_0_release) @@ -9361,3 +9900,54 @@ Index: libgo/configure.ac AC_CHECK_HEADERS([linux/filter.h linux/if_addr.h linux/if_ether.h linux/if_tun.h linux/netlink.h linux/rtnetlink.h], [], [], [#ifdef HAVE_SYS_SOCKET_H +Index: libgfortran/ChangeLog +=================================================================== +--- a/src/libgfortran/ChangeLog (.../tags/gcc_4_9_0_release) ++++ b/src/libgfortran/ChangeLog (.../branches/gcc-4_9-branch) +@@ -1,3 +1,10 @@ ++2014-05-10 Jerry DeLisle <jvdelisle@gcc.gnu> ++ ++ Backport from Trunk. ++ PR libfortran/61049 ++ * io/list_read.c (list_formatted_read_scalar): Use eat_separator ++ and delete extraneous code. ++ + 2014-04-22 Release Manager + + * GCC 4.9.0 released. +Index: libgfortran/io/list_read.c +=================================================================== +--- a/src/libgfortran/io/list_read.c (.../tags/gcc_4_9_0_release) ++++ b/src/libgfortran/io/list_read.c (.../branches/gcc-4_9-branch) +@@ -1923,21 +1923,10 @@ + } + if (is_separator (c)) + { +- /* Found a null value. Do not use eat_separator here otherwise +- we will do an extra read from stdin. */ ++ /* Found a null value. */ + dtp->u.p.repeat_count = 0; ++ eat_separator (dtp); + +- /* Set comma_flag. */ +- if ((c == ';' +- && dtp->u.p.current_unit->decimal_status == DECIMAL_COMMA) +- || +- (c == ',' +- && dtp->u.p.current_unit->decimal_status == DECIMAL_POINT)) +- { +- dtp->u.p.comma_flag = 1; +- goto cleanup; +- } +- + /* Set end-of-line flag. */ + if (c == '\n' || c == '\r') + { +@@ -1951,7 +1940,6 @@ + else + goto cleanup; + } +- + } + else + { diff --git a/debian/rules.patch b/debian/rules.patch index 517e883..1df30ae 100644 --- a/debian/rules.patch +++ b/debian/rules.patch @@ -294,7 +294,8 @@ debian_patches += libgomp-kfreebsd-testsuite debian_patches += go-testsuite debian_patches += libstdc++-link-pthread debian_patches += fix-ffi_call_VFP-with-no-VFP-argument -debian_patches += pr61106 +#debian_patches += pr61106 +debian_patches += pr61126 # Ada patches needed for both the stable package and snapshot builds debian_patches += ada-ppc64 |