diff options
Diffstat (limited to 'debian/patches/gcc-linaro.diff')
-rw-r--r-- | debian/patches/gcc-linaro.diff | 681 |
1 files changed, 554 insertions, 127 deletions
diff --git a/debian/patches/gcc-linaro.diff b/debian/patches/gcc-linaro.diff index 9ba3a34..941f005 100644 --- a/debian/patches/gcc-linaro.diff +++ b/debian/patches/gcc-linaro.diff @@ -1,11 +1,22 @@ -# DP: Changes for the Linaro 4.7-2013.06 release. +# DP: Changes for the Linaro 4.7-2013.07 release. --- a/src/ChangeLog.linaro +++ b/src/ChangeLog.linaro -@@ -0,0 +1,2551 @@ -+2013-06-11 Rob Savoye <rob.savoye@linaro.org> +@@ -0,0 +1,2562 @@ ++2013-07-03 Yvan Roux <yvan.roux@linaro.org> + -+ GCC Linaro 4.7-2013.06 released. ++ GCC Linaro 4.7-2013.07 released. ++ ++ gcc/ ++ * LINARO-VERSION: Update. ++ ++2013-06-26 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org> ++ ++ Merge from FSF GCC 4.7.4 (svn branches/gcc-4_7-branch 200408). ++ ++2013-06-14 Rob Savoye <rob.savoye@linaro.org> ++ ++ GCC Linaro 4.7-2013.06-1 released. + + gcc/ + * LINARO-VERSION: Update. @@ -2903,28 +2914,6 @@ ;; m68*-cisco) os=-aout ---- a/src/contrib/gcc_build -+++ b/src/contrib/gcc_build -@@ -146,7 +146,7 @@ - - # Bootstrap the compiler - echo "Building: ${MAKE} ${MAKE_BOOTSTRAP_OPTIONS} bootstrap" -- eval ${MAKE} ${MAKE_BOOTSTRAP_OPTIONS} bootstrap || \ -+ eval ${MAKE} -j8 ${MAKE_BOOTSTRAP_OPTIONS} bootstrap || \ - error "Could not bootstrap the compiler" - } - -@@ -159,8 +159,8 @@ - changedir ${OBJDIR} - - echo "Running tests... This will take a while." -- eval \${MAKE} -k ${MAKE_CHECK_OPTIONS} check -- ${DESTINATION}/contrib/test_summary -+ #eval \${MAKE} -k ${MAKE_CHECK_OPTIONS} check -+ #${DESTINATION}/contrib/test_summary - } - - # Export the GCC source tree. --- a/src/gcc/ada/ChangeLog +++ b/src/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ @@ -3178,7 +3167,49 @@ { --- a/src/gcc/ChangeLog +++ b/src/gcc/ChangeLog -@@ -1,3 +1,220 @@ +@@ -1,3 +1,262 @@ ++2013-06-21 David Edelsohn <dje.gcc@gmail.com> ++ ++ Backport from mainline ++ 2013-06-19 David Edelsohn <dje.gcc@gmail.com> ++ ++ PR driver/57652 ++ * collect2.c (collect_atexit): New. ++ (collect_exit): Delete. ++ (main): Register collect_atexit with atexit. ++ (collect_wait): Change collect_exit to exit. ++ (do_wait): Same. ++ * collect2.h (collect_exit): Delete. ++ * tlink.c (do_tlink): Rename exit to ret. Change collect_exit to exit. ++ ++2013-06-07 Uros Bizjak <ubizjak@gmail.com> ++ ++ Backport from mainline ++ 2013-06-10 Uros Bizjak <ubizjak@gmail.com> ++ ++ * config/alpha/alpha.c (alpha_emit_xfloating_compare): Also use ++ cmp_code to construct REG_EQUAL note. ++ ++ Backport from mainline ++ 2013-06-05 Uros Bizjak <ubizjak@gmail.com> ++ ++ * config/alpha/alpha.c (alpha_emit_conditional_move): Swap all ++ GE, GT, GEU and GTU compares, modulo DImode compares with zero. ++ ++ Backport from mainline ++ 2013-05-23 Uros Bizjak <ubizjak@gmail.com> ++ ++ PR target/57379 ++ * config/alpha/alpha.md (unspec): Add UNSPEC_XFLT_COMPARE. ++ * config/alpha/alpha.c (alpha_emit_xfloating_compare): Construct ++ REG_EQUAL note as UNSPEC_XFLT_COMPARE unspec. ++ ++2013-06-09 Jakub Jelinek <jakub@redhat.com> ++ ++ PR target/57568 ++ * config/i386/i386.md (TARGET_READ_MODIFY_WRITE peepholes): Ensure ++ that operands[2] doesn't overlap with operands[0]. ++ +2013-05-22 Uros Bizjak <ubizjak@gmail.com> + + PR target/57356 @@ -4497,6 +4528,88 @@ + (read_rtx): Parse and read int iterators mapping and attributes. + Initialize int iterators group's hash-table. Memory management. + (read_rtx_code): Handle case for rtl field specifier 'i'. +--- a/src/gcc/collect2.c ++++ b/src/gcc/collect2.c +@@ -1,7 +1,7 @@ + /* Collect static initialization info into data structures that can be + traversed by C++ initialization and finalization routines. + Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, +- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011 ++ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2013 + Free Software Foundation, Inc. + Contributed by Chris Smith (csmith@convex.com). + Heavily modified by Michael Meissner (meissner@cygnus.com), +@@ -384,8 +384,8 @@ + + /* Delete tempfiles and exit function. */ + +-void +-collect_exit (int status) ++static void ++collect_atexit (void) + { + if (c_file != 0 && c_file[0]) + maybe_unlink (c_file); +@@ -413,13 +413,8 @@ + maybe_unlink (lderrout); + } + +- if (status != 0 && output_file != 0 && output_file[0]) +- maybe_unlink (output_file); +- + if (response_file) + maybe_unlink (response_file); +- +- exit (status); + } + + +@@ -1132,6 +1127,9 @@ + signal (SIGCHLD, SIG_DFL); + #endif + ++ if (atexit (collect_atexit) != 0) ++ fatal_error ("atexit failed"); ++ + /* Unlock the stdio streams. */ + unlock_std_streams (); + +@@ -1973,7 +1971,7 @@ + error ("%s terminated with signal %d [%s]%s", + prog, sig, strsignal(sig), + WCOREDUMP(status) ? ", core dumped" : ""); +- collect_exit (FATAL_EXIT_CODE); ++ exit (FATAL_EXIT_CODE); + } + + if (WIFEXITED (status)) +@@ -1989,7 +1987,7 @@ + if (ret != 0) + { + error ("%s returned %d exit status", prog, ret); +- collect_exit (ret); ++ exit (ret); + } + + if (response_file) +--- a/src/gcc/collect2.h ++++ b/src/gcc/collect2.h +@@ -1,5 +1,5 @@ + /* Header file for collect/tlink routines. +- Copyright (C) 1998, 2003, 2004, 2005, 2007, 2010, 2011 ++ Copyright (C) 1998, 2003, 2004, 2005, 2007, 2010, 2011, 2013 + Free Software Foundation, Inc. + + This file is part of GCC. +@@ -26,8 +26,6 @@ + extern struct pex_obj *collect_execute (const char *, char **, const char *, + const char *, int flags); + +-extern void collect_exit (int) ATTRIBUTE_NORETURN; +- + extern int collect_wait (const char *, struct pex_obj *); + + extern void dump_file (const char *, FILE *); --- a/src/gcc/combine.c +++ b/src/gcc/combine.c @@ -9291,36 +9291,22 @@ @@ -50787,6 +50900,53 @@ + +LIB1ASMSRC = aarch64/lib1funcs.asm +LIB1ASMFUNCS = _aarch64_sync_cache_range +--- a/src/gcc/config/alpha/alpha.c ++++ b/src/gcc/config/alpha/alpha.c +@@ -2658,12 +2658,12 @@ + break; + + case GE: case GT: case GEU: case GTU: +- /* These must be swapped. */ +- if (op1 != CONST0_RTX (cmp_mode)) +- { +- code = swap_condition (code); +- tem = op0, op0 = op1, op1 = tem; +- } ++ /* These normally need swapping, but for integer zero we have ++ special patterns that recognize swapped operands. */ ++ if (cmp_mode == DImode && op1 == const0_rtx) ++ break; ++ code = swap_condition (code); ++ tem = op0, op0 = op1, op1 = tem; + break; + + default: +@@ -3025,12 +3025,9 @@ + operands[1] = op1; + out = gen_reg_rtx (DImode); + +- /* What's actually returned is -1,0,1, not a proper boolean value, +- so use an EXPR_LIST as with a generic libcall instead of a +- comparison type expression. */ +- note = gen_rtx_EXPR_LIST (VOIDmode, op1, NULL_RTX); +- note = gen_rtx_EXPR_LIST (VOIDmode, op0, note); +- note = gen_rtx_EXPR_LIST (VOIDmode, func, note); ++ /* What's actually returned is -1,0,1, not a proper boolean value. */ ++ note = gen_rtx_fmt_ee (cmp_code, VOIDmode, op0, op1); ++ note = gen_rtx_UNSPEC (DImode, gen_rtvec (1, note), UNSPEC_XFLT_COMPARE); + alpha_emit_xfloating_libcall (func, out, operands, 2, note); + + return out; +--- a/src/gcc/config/alpha/alpha.md ++++ b/src/gcc/config/alpha/alpha.md +@@ -25,6 +25,7 @@ + ;; Uses of UNSPEC in this file: + + (define_c_enum "unspec" [ ++ UNSPEC_XFLT_COMPARE + UNSPEC_ARG_HOME + UNSPEC_LDGP1 + UNSPEC_INSXH --- a/src/gcc/config/arm/arm1020e.md +++ b/src/gcc/config/arm/arm1020e.md @@ -66,13 +66,13 @@ @@ -58020,6 +58180,22 @@ "!(fixed_regs[AX_REG] || fixed_regs[DI_REG])" "stosb" [(set_attr "type" "str") +@@ -17190,6 +17194,7 @@ + "(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ()) + && peep2_reg_dead_p (4, operands[0]) + && !reg_overlap_mentioned_p (operands[0], operands[1]) ++ && !reg_overlap_mentioned_p (operands[0], operands[2]) + && (<MODE>mode != QImode + || immediate_operand (operands[2], QImode) + || q_regs_operand (operands[2], QImode)) +@@ -17254,6 +17259,7 @@ + || immediate_operand (operands[2], SImode) + || q_regs_operand (operands[2], SImode)) + && !reg_overlap_mentioned_p (operands[0], operands[1]) ++ && !reg_overlap_mentioned_p (operands[0], operands[2]) + && ix86_match_ccmode (peep2_next_insn (3), + (GET_CODE (operands[3]) == PLUS + || GET_CODE (operands[3]) == MINUS) --- a/src/gcc/config/i386/sse.md +++ b/src/gcc/config/i386/sse.md @@ -11167,7 +11167,8 @@ @@ -58628,7 +58804,7 @@ +++ b/src/gcc/DATESTAMP @@ -1 +1 @@ -20130411 -+20130603 ++20130626 --- a/src/gcc/dwarf2out.c +++ b/src/gcc/dwarf2out.c @@ -22538,7 +22538,7 @@ @@ -58659,7 +58835,16 @@ { --- a/src/gcc/fortran/ChangeLog +++ b/src/gcc/fortran/ChangeLog -@@ -1,3 +1,49 @@ +@@ -1,3 +1,58 @@ ++2013-06-06 Tobias Burnus <burnus@net-b.de> ++ ++ Backport from mainline ++ 2012-08-27 Tobias Burnus <burnus@net-b.de> ++ ++ PR fortran/54370 ++ * trans-stmt.c (gfc_trans_do_while): Don't change the logical ++ kind for negation of the condition. ++ +2013-06-01 Janus Weil <janus@gcc.gnu.org> + Tobias Burnus <burnus@net-b.de> + @@ -59111,6 +59296,17 @@ size_t gfc_target_expr_size (gfc_expr *); /* Write a constant expression in binary form to a target buffer. */ +--- a/src/gcc/fortran/trans-stmt.c ++++ b/src/gcc/fortran/trans-stmt.c +@@ -1743,7 +1743,7 @@ + gfc_conv_expr_val (&cond, code->expr1); + gfc_add_block_to_block (&block, &cond.pre); + cond.expr = fold_build1_loc (code->expr1->where.lb->location, +- TRUTH_NOT_EXPR, boolean_type_node, cond.expr); ++ TRUTH_NOT_EXPR, TREE_TYPE (cond.expr), cond.expr); + + /* Build "IF (! cond) GOTO exit_label". */ + tmp = build1_v (GOTO_EXPR, exit_label); --- a/src/gcc/fwprop.c +++ b/src/gcc/fwprop.c @@ -664,7 +664,12 @@ @@ -59167,7 +59363,7 @@ #define YY_RESTORE_YY_MORE_OFFSET char *yytext; -#line 1 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 1 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 1 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" /* -*- indented-text -*- */ /* Process source files and output type information. Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010 @@ -59176,7 +59372,7 @@ <http://www.gnu.org/licenses/>. */ #define YY_NO_INPUT 1 -#line 25 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 25 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 25 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" #ifdef GENERATOR_FILE #include "bconfig.h" #else @@ -59225,7 +59421,7 @@ register int yy_act; -#line 63 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 63 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 63 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" /* Do this on entry to yylex(): */ *yylval = 0; @@ -59243,7 +59439,7 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 74 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 74 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 74 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { BEGIN(in_struct); return TYPEDEF; @@ -59252,7 +59448,7 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 78 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 78 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 78 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { BEGIN(in_struct); return STRUCT; @@ -59261,7 +59457,7 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 82 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 82 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 82 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { BEGIN(in_struct); return UNION; @@ -59270,7 +59466,7 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 86 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 86 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 86 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { BEGIN(in_struct); return EXTERN; @@ -59279,7 +59475,7 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 90 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 90 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 90 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { BEGIN(in_struct); return STATIC; @@ -59288,7 +59484,7 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 95 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 95 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 95 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { BEGIN(in_struct); return DEFVEC_OP; @@ -59297,7 +59493,7 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 99 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 99 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 99 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { BEGIN(in_struct); return DEFVEC_I; @@ -59306,7 +59502,7 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 103 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 103 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 103 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { BEGIN(in_struct); return DEFVEC_ALLOC; @@ -59315,21 +59511,21 @@ case 9: YY_RULE_SETUP -#line 111 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 111 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 111 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { BEGIN(in_struct_comment); } YY_BREAK case 10: /* rule 10 can match eol */ YY_RULE_SETUP -#line 113 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 113 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 113 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 11: /* rule 11 can match eol */ YY_RULE_SETUP -#line 114 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 114 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 114 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 12: @@ -59338,7 +59534,7 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 116 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 116 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 116 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" /* don't care */ YY_BREAK case 13: @@ -59347,7 +59543,7 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 117 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 117 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 117 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { return GTY_TOKEN; } YY_BREAK case 14: @@ -59356,7 +59552,7 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 118 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 118 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 118 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { return VEC_TOKEN; } YY_BREAK case 15: @@ -59365,7 +59561,7 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 119 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 119 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 119 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { return UNION; } YY_BREAK case 16: @@ -59374,7 +59570,7 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 120 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 120 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 120 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { return STRUCT; } YY_BREAK case 17: @@ -59383,7 +59579,7 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 121 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 121 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 121 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { return ENUM; } YY_BREAK case 18: @@ -59392,7 +59588,7 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 122 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 122 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 122 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { return PTR_ALIAS; } YY_BREAK case 19: @@ -59401,13 +59597,13 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 123 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 123 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 123 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { return NESTED_PTR; } YY_BREAK case 20: YY_RULE_SETUP -#line 124 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 124 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 124 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { return NUM; } YY_BREAK case 21: @@ -59416,7 +59612,7 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 125 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 125 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 125 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1); return PARAM_IS; @@ -59425,12 +59621,12 @@ (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ -#line 131 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 131 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 131 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" case 23: /* rule 23 can match eol */ YY_RULE_SETUP -#line 131 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 131 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 131 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { size_t len; @@ -59439,7 +59635,7 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 143 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 143 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 143 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1); return ID; @@ -59448,7 +59644,7 @@ /* rule 25 can match eol */ YY_RULE_SETUP -#line 148 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 148 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 148 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1); return STRING; @@ -59457,7 +59653,7 @@ /* rule 26 can match eol */ YY_RULE_SETUP -#line 153 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 153 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 153 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1); return ARRAY; @@ -59466,7 +59662,7 @@ /* rule 27 can match eol */ YY_RULE_SETUP -#line 157 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 157 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 157 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng); return CHAR; @@ -59475,13 +59671,13 @@ case 28: YY_RULE_SETUP -#line 162 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 162 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 162 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { return ELLIPSIS; } YY_BREAK case 29: YY_RULE_SETUP -#line 163 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 163 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 163 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { return yytext[0]; } YY_BREAK /* ignore pp-directives */ @@ -59489,13 +59685,13 @@ /* rule 30 can match eol */ YY_RULE_SETUP -#line 166 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 166 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 166 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" {lexer_line.line++;} YY_BREAK case 31: YY_RULE_SETUP -#line 168 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 168 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 168 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unexpected character `%s'", yytext); } @@ -59504,35 +59700,35 @@ case 32: YY_RULE_SETUP -#line 173 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 173 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 173 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { BEGIN(in_comment); } YY_BREAK case 33: /* rule 33 can match eol */ YY_RULE_SETUP -#line 174 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 174 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 174 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 34: -#line 176 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 176 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 176 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" case 35: /* rule 35 can match eol */ -#line 177 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 177 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 177 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" case 36: /* rule 36 can match eol */ YY_RULE_SETUP -#line 177 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 177 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 177 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 37: /* rule 37 can match eol */ YY_RULE_SETUP -#line 178 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 178 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 178 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 38: @@ -59541,7 +59737,7 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 179 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 179 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 179 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK @@ -59549,16 +59745,16 @@ /* rule 39 can match eol */ YY_RULE_SETUP -#line 182 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 182 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 182 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 40: -#line 184 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 184 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 184 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" case 41: YY_RULE_SETUP -#line 184 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 184 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 184 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 42: @@ -59567,29 +59763,29 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 185 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 185 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 185 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 43: YY_RULE_SETUP -#line 187 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 187 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 187 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { BEGIN(INITIAL); } YY_BREAK case 44: YY_RULE_SETUP -#line 188 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 188 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 188 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { BEGIN(in_struct); } YY_BREAK case 45: -#line 191 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 191 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 191 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" case 46: YY_RULE_SETUP -#line 191 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 191 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 191 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unterminated comment or string; unexpected EOF"); @@ -59598,13 +59794,13 @@ /* rule 47 can match eol */ YY_RULE_SETUP -#line 196 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 196 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 196 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 48: YY_RULE_SETUP -#line 198 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 198 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 198 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 1654 "gengtype-lex.c" @@ -59628,7 +59824,7 @@ #define YYTABLES_NAME "yytables" -#line 198 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l" -+#line 198 "/home/doko/gcc-4.7-RC-20130614/gcc-4.7-RC-20130614/gcc/gengtype-lex.l" ++#line 198 "/work1/rouxy/release/4.7-2013.07/gcc-linaro-4.7-2013.07/gcc/gengtype-lex.l" @@ -61645,7 +61841,7 @@ --- a/src/gcc/LINARO-VERSION +++ b/src/gcc/LINARO-VERSION @@ -0,0 +1 @@ -+4.7-2013.05-1~dev ++4.7-2013.07 --- a/src/gcc/lower-subreg.c +++ b/src/gcc/lower-subreg.c @@ -233,9 +233,9 @@ @@ -62777,7 +62973,20 @@ bool, false) --- a/src/gcc/testsuite/ChangeLog +++ b/src/gcc/testsuite/ChangeLog -@@ -1,3 +1,120 @@ +@@ -1,3 +1,133 @@ ++2013-06-09 Jakub Jelinek <jakub@redhat.com> ++ ++ PR target/57568 ++ * gcc.c-torture/execute/pr57568.c: New test. ++ ++2013-06-06 Tobias Burnus <burnus@net-b.de> ++ ++ Backport from mainline ++ 2012-08-27 Tobias Burnus <burnus@net-b.de> ++ ++ PR fortran/54370 ++ * gfortran.dg/do_5.f90: New. ++ +2013-06-01 Janus Weil <janus@gcc.gnu.org> + Tobias Burnus <burnus@net-b.de> + @@ -63428,6 +63637,21 @@ +#endif + return 0; +} +--- a/src/gcc/testsuite/gcc.c-torture/execute/pr57568.c ++++ b/src/gcc/testsuite/gcc.c-torture/execute/pr57568.c +@@ -0,0 +1,12 @@ ++/* PR target/57568 */ ++ ++extern void abort (void); ++int a[6][9] = { }, b = 1, *c = &a[3][5]; ++ ++int ++main () ++{ ++ if (b && (*c = *c + *c)) ++ abort (); ++ return 0; ++} --- a/src/gcc/testsuite/gcc.dg/20020312-2.c +++ b/src/gcc/testsuite/gcc.dg/20020312-2.c @@ -92,6 +92,8 @@ @@ -76920,6 +77144,38 @@ C { dg-skip-if "No stabs" {*-*-* } { "*" } { "-gstabs" } } common i,j common /label/l,m +--- a/src/gcc/testsuite/gfortran.dg/do_5.f90 ++++ b/src/gcc/testsuite/gfortran.dg/do_5.f90 +@@ -0,0 +1,29 @@ ++! { dg-do compile } ++! ++! PR fortran/54370 ++! ++! The following program was ICEing at tree-check time ++! "L()" was regarded as default-kind logical. ++! ++! Contributed by Kirill Chilikin ++! ++ MODULE M ++ CONTAINS ++ ++ LOGICAL(C_BOOL) FUNCTION L() BIND(C) ++ USE, INTRINSIC :: ISO_C_BINDING ++ L = .FALSE. ++ END FUNCTION ++ ++ LOGICAL(8) FUNCTION L2() BIND(C) ! { dg-warning "may not be a C interoperable kind but it is bind" } ++ L2 = .FALSE._8 ++ END FUNCTION ++ ++ SUBROUTINE S() ++ DO WHILE (L()) ++ ENDDO ++ DO WHILE (L2()) ++ ENDDO ++ END ++ ++ END --- a/src/gcc/testsuite/gfortran.dg/namelist_77.f90 +++ b/src/gcc/testsuite/gfortran.dg/namelist_77.f90 @@ -0,0 +1,49 @@ @@ -77820,6 +78076,61 @@ + return 0 + } +} +--- a/src/gcc/tlink.c ++++ b/src/gcc/tlink.c +@@ -2,7 +2,7 @@ + them. + + Copyright (C) 1995, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2007, 2008, +- 2009, 2010, 2011 Free Software Foundation, Inc. ++ 2009, 2010, 2011, 2013 Free Software Foundation, Inc. + Contributed by Jason Merrill (jason@cygnus.com). + + This file is part of GCC. +@@ -820,18 +820,18 @@ + void + do_tlink (char **ld_argv, char **object_lst ATTRIBUTE_UNUSED) + { +- int exit = tlink_execute ("ld", ld_argv, ldout, lderrout); ++ int ret = tlink_execute ("ld", ld_argv, ldout, lderrout); + + tlink_init (); + +- if (exit) ++ if (ret) + { + int i = 0; + + /* Until collect does a better job of figuring out which are object + files, assume that everything on the command line could be. */ + if (read_repo_files (ld_argv)) +- while (exit && i++ < MAX_ITERATIONS) ++ while (ret && i++ < MAX_ITERATIONS) + { + if (tlink_verbose >= 3) + { +@@ -846,7 +846,7 @@ + break; + if (tlink_verbose) + fprintf (stderr, _("collect: relinking\n")); +- exit = tlink_execute ("ld", ld_argv, ldout, lderrout); ++ ret = tlink_execute ("ld", ld_argv, ldout, lderrout); + } + } + +@@ -854,9 +854,9 @@ + unlink (ldout); + dump_file (lderrout, stderr); + unlink (lderrout); +- if (exit) ++ if (ret) + { +- error ("ld returned %d exit status", exit); +- collect_exit (exit); ++ error ("ld returned %d exit status", ret); ++ exit (ret); + } + } --- a/src/gcc/tree.c +++ b/src/gcc/tree.c @@ -9358,6 +9358,7 @@ @@ -79219,9 +79530,8 @@ <!-- --- a/src/LAST_UPDATED +++ b/src/LAST_UPDATED -@@ -1 +1 @@ +@@ -1 +0,0 @@ -Obtained from SVN: tags/gcc_4_7_3_release revision 197739 -+Obtained from SVN: branches/gcc-4_7-branch revision --- a/src/libcpp/ChangeLog.aarch64 +++ b/src/libcpp/ChangeLog.aarch64 @@ -0,0 +1,13 @@ @@ -79330,9 +79640,42 @@ #else /* We only have one accellerated alternative. Use a direct call so that +Binary files gcc-4.7.3/libcpp/po/be.gmo and gcc-linaro-4.7-2013.07/libcpp/po/be.gmo differ +Binary files gcc-4.7.3/libcpp/po/ca.gmo and gcc-linaro-4.7-2013.07/libcpp/po/ca.gmo differ +Binary files gcc-4.7.3/libcpp/po/da.gmo and gcc-linaro-4.7-2013.07/libcpp/po/da.gmo differ +Binary files gcc-4.7.3/libcpp/po/de.gmo and gcc-linaro-4.7-2013.07/libcpp/po/de.gmo differ +Binary files gcc-4.7.3/libcpp/po/el.gmo and gcc-linaro-4.7-2013.07/libcpp/po/el.gmo differ +Binary files gcc-4.7.3/libcpp/po/eo.gmo and gcc-linaro-4.7-2013.07/libcpp/po/eo.gmo differ +Binary files gcc-4.7.3/libcpp/po/es.gmo and gcc-linaro-4.7-2013.07/libcpp/po/es.gmo differ +Binary files gcc-4.7.3/libcpp/po/fi.gmo and gcc-linaro-4.7-2013.07/libcpp/po/fi.gmo differ +Binary files gcc-4.7.3/libcpp/po/fr.gmo and gcc-linaro-4.7-2013.07/libcpp/po/fr.gmo differ +Binary files gcc-4.7.3/libcpp/po/id.gmo and gcc-linaro-4.7-2013.07/libcpp/po/id.gmo differ +Binary files gcc-4.7.3/libcpp/po/ja.gmo and gcc-linaro-4.7-2013.07/libcpp/po/ja.gmo differ +Binary files gcc-4.7.3/libcpp/po/nl.gmo and gcc-linaro-4.7-2013.07/libcpp/po/nl.gmo differ +Binary files gcc-4.7.3/libcpp/po/ru.gmo and gcc-linaro-4.7-2013.07/libcpp/po/ru.gmo differ +Binary files gcc-4.7.3/libcpp/po/sr.gmo and gcc-linaro-4.7-2013.07/libcpp/po/sr.gmo differ +Binary files gcc-4.7.3/libcpp/po/sv.gmo and gcc-linaro-4.7-2013.07/libcpp/po/sv.gmo differ +Binary files gcc-4.7.3/libcpp/po/tr.gmo and gcc-linaro-4.7-2013.07/libcpp/po/tr.gmo differ +Binary files gcc-4.7.3/libcpp/po/uk.gmo and gcc-linaro-4.7-2013.07/libcpp/po/uk.gmo differ +Binary files gcc-4.7.3/libcpp/po/vi.gmo and gcc-linaro-4.7-2013.07/libcpp/po/vi.gmo differ +Binary files gcc-4.7.3/libcpp/po/zh_CN.gmo and gcc-linaro-4.7-2013.07/libcpp/po/zh_CN.gmo differ +Binary files gcc-4.7.3/libcpp/po/zh_TW.gmo and gcc-linaro-4.7-2013.07/libcpp/po/zh_TW.gmo differ --- a/src/libgcc/ChangeLog +++ b/src/libgcc/ChangeLog -@@ -1,3 +1,18 @@ +@@ -1,3 +1,31 @@ ++2013-06-08 Walter Lee <walt@tilera.com> ++ ++ Backport from mainline: ++ 2013-06-08 Walter Lee <walt@tilera.com> ++ ++ * config/tilepro/atomic.h: Don't include stdint.h or features.h. ++ Replace int64_t with long long. Add __extension__ where ++ appropriate. ++ ++2013-06-06 Douglas B Rupp <rupp@adacore.com> ++ ++ * config.host (arm-wrs-vxworks): Configure with other soft float. ++ +2013-05-20 Chung-Ju Wu <jasonwucj@gmail.com> + + Backport from mainline: @@ -80253,6 +80596,122 @@ @@ -1 +1 @@ -LIB1ASMFUNCS += _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _call_via_rX _interwork_call_via_rX _clzsi2 _clzdi2 +LIB1ASMFUNCS += _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _call_via_rX _interwork_call_via_rX _clzsi2 _clzdi2 _ctzsi2 +--- a/src/libgcc/config/tilepro/atomic.h ++++ b/src/libgcc/config/tilepro/atomic.h +@@ -1,6 +1,5 @@ + /* Macros for atomic functionality for tile. +- Copyright (C) 2011, 2012 +- Free Software Foundation, Inc. ++ Copyright (C) 2011-2013 Free Software Foundation, Inc. + Contributed by Walter Lee (walt@tilera.com) + + This file is free software; you can redistribute it and/or modify it +@@ -93,8 +92,6 @@ + compare-and-exchange routine, so may be potentially less efficient. */ + #endif + +-#include <stdint.h> +-#include <features.h> + #ifdef __tilegx__ + #include <arch/spr_def.h> + #else +@@ -123,9 +120,9 @@ + + /* 64-bit integer compare-and-exchange. */ + static __inline __attribute__ ((always_inline)) +- int64_t arch_atomic_val_compare_and_exchange_8 (volatile int64_t * mem, +- int64_t oldval, +- int64_t newval) ++ long long arch_atomic_val_compare_and_exchange_8 (volatile long long ++ *mem, long long oldval, ++ long long newval) + { + #ifdef __tilegx__ + __insn_mtspr (SPR_CMPEXCH_VALUE, oldval); +@@ -140,7 +137,7 @@ + "R04" (newval_lo), "R05" (newval_hi), + "m" (*mem):"r20", "r21", "r22", "r23", "r24", "r25", + "r26", "r27", "r28", "r29", "memory"); +- return ((uint64_t) result_hi) << 32 | result_lo; ++ return ((long long) result_hi) << 32 | result_lo; + #endif + } + +@@ -151,11 +148,11 @@ + + + #define arch_atomic_val_compare_and_exchange(mem, o, n) \ +- ({ \ ++ __extension__ ({ \ + (__typeof(*(mem)))(__typeof(*(mem)-*(mem))) \ + ((sizeof(*(mem)) == 8) ? \ + arch_atomic_val_compare_and_exchange_8( \ +- (volatile int64_t*)(mem), (__typeof((o)-(o)))(o), \ ++ (volatile long long*)(mem), (__typeof((o)-(o)))(o), \ + (__typeof((n)-(n)))(n)) : \ + (sizeof(*(mem)) == 4) ? \ + arch_atomic_val_compare_and_exchange_4( \ +@@ -165,7 +162,7 @@ + }) + + #define arch_atomic_bool_compare_and_exchange(mem, o, n) \ +- ({ \ ++ __extension__ ({ \ + __typeof(o) __o = (o); \ + __builtin_expect( \ + __o == arch_atomic_val_compare_and_exchange((mem), __o, (n)), 1); \ +@@ -175,7 +172,7 @@ + /* Loop with compare_and_exchange until we guess the correct value. + Normally "expr" will be an expression using __old and __value. */ + #define __arch_atomic_update_cmpxchg(mem, value, expr) \ +- ({ \ ++ __extension__ ({ \ + __typeof(value) __value = (value); \ + __typeof(*(mem)) *__mem = (mem), __old = *__mem, __guess; \ + do { \ +@@ -190,12 +187,14 @@ + /* Generic atomic op with 8- or 4-byte variant. + The _mask, _addend, and _expr arguments are ignored on tilegx. */ + #define __arch_atomic_update(mem, value, op, _mask, _addend, _expr) \ +- ({ \ ++ __extension__ ({ \ + ((__typeof(*(mem))) \ + ((sizeof(*(mem)) == 8) ? (__typeof(*(mem)-*(mem)))__insn_##op( \ +- (void *)(mem), (int64_t)(__typeof((value)-(value)))(value)) : \ ++ (volatile void *)(mem), \ ++ (long long)(__typeof((value)-(value)))(value)) : \ + (sizeof(*(mem)) == 4) ? (int)__insn_##op##4( \ +- (void *)(mem), (int32_t)(__typeof((value)-(value)))(value)) : \ ++ (volatile void *)(mem), \ ++ (int)(__typeof((value)-(value)))(value)) : \ + __arch_atomic_error_bad_argument_size())); \ + }) + +@@ -225,7 +224,7 @@ + /* Generic atomic op with 8- or 4-byte variant. + The _op argument is ignored on tilepro. */ + #define __arch_atomic_update(mem, value, _op, mask, addend, expr) \ +- ({ \ ++ __extension__ ({ \ + (__typeof(*(mem)))(__typeof(*(mem)-*(mem))) \ + ((sizeof(*(mem)) == 8) ? \ + __arch_atomic_update_cmpxchg((mem), (value), (expr)) : \ +@@ -264,13 +263,13 @@ + __arch_atomic_update_cmpxchg(mem, mask, ~(__old & __value)) + + #define arch_atomic_bit_set(mem, bit) \ +- ({ \ ++ __extension__ ({ \ + __typeof(*(mem)) __mask = (__typeof(*(mem)))1 << (bit); \ + __mask & arch_atomic_or((mem), __mask); \ + }) + + #define arch_atomic_bit_clear(mem, bit) \ +- ({ \ ++ __extension__ ({ \ + __typeof(*(mem)) __mask = (__typeof(*(mem)))1 << (bit); \ + __mask & arch_atomic_and((mem), ~__mask); \ + }) --- a/src/libgcc/config.host +++ b/src/libgcc/config.host @@ -83,6 +83,9 @@ @@ -80282,6 +80741,15 @@ alpha*-*-linux*) tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee t-crtfm alpha/t-linux" extra_parts="$extra_parts crtfastmath.o" +@@ -315,7 +328,7 @@ + md_unwind_header=alpha/vms-unwind.h + ;; + arm-wrs-vxworks) +- tmake_file="$tmake_file arm/t-arm arm/t-vxworks t-fdpbit" ++ tmake_file="$tmake_file arm/t-arm arm/t-vxworks t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp" + extra_parts="$extra_parts crti.o crtn.o" + ;; + arm*-*-freebsd*) --- a/src/libgcc/longlong.h +++ b/src/libgcc/longlong.h @@ -203,7 +203,8 @@ @@ -80979,44 +81447,3 @@ // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } } // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } ---- a/src/maintainer-scripts/gcc_release -+++ b/src/maintainer-scripts/gcc_release -@@ -144,7 +144,7 @@ - fi - - # Tag the sources. -- if [ -n "${TAG}" ]; then -+ if false || [ -n "${TAG}" ]; then - inform "Tagging sources as ${TAG}" - # We don't want to overwrite an existing tag. So, if the tag - # already exists, issue an error message; the release manager can -@@ -157,13 +157,14 @@ - error "Could not tag sources" - SVNBRANCH=${TAG} - fi -- SVNREV=`${SVN} info "${SVNROOT}/${SVNBRANCH}"|awk '/Revision:/ {print $2}'` -+ #SVNREV=`${SVN} info "${SVNROOT}/${SVNBRANCH}"|awk '/Revision:/ {print $2}'` - - # Export the current sources. -- inform "Retrieving sources (svn export -r ${SVNREV} ${SVNROOT}/${SVNBRANCH})" -+ inform "Copying sources (cp -a /scratch/packages/gcc/bzr/4.7 ...)" - -- ${SVN} -q export -r${SVNREV} "${SVNROOT}/${SVNBRANCH}" "`basename ${SOURCE_DIRECTORY}`" ||\ -- error "Could not retrieve sources" -+ #${SVN} -q export -r${SVNREV} "${SVNROOT}/${SVNBRANCH}" "`basename ${SOURCE_DIRECTORY}`" ||\ -+ # error "Could not retrieve sources" -+ cp -a /scratch/packages/gcc/bzr/4.7 "`basename ${SOURCE_DIRECTORY}`" - - # Run gcc_update on them to set up the timestamps nicely, and (re)write - # the LAST_UPDATED file containing the SVN tag/revision used. -@@ -184,8 +185,8 @@ - ${SOURCE_DIRECTORY}/gcc/doc/install.texi2html - - # Regenerate the NEWS file. -- contrib/gennews > NEWS || \ -- error "Could not regenerate NEWS files" -+ #contrib/gennews > NEWS || \ -+ # error "Could not regenerate NEWS files" - - # Now, we must build the compiler in order to create any generated - # files that are supposed to go in the source directory. This is |