gcc.git
9 years agoOptimize expand_omp_for_static_chunk for chunk_size one
Tom de Vries [Mon, 24 Aug 2015 13:14:17 +0000 (13:14 +0000)]
Optimize expand_omp_for_static_chunk for chunk_size one

2015-08-24  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/65468
* omp-low.c (expand_omp_for_static_chunk): Remove inner loop if
chunk_size is one.

* gcc.dg/gomp/static-chunk-size-one.c: New test.

* testsuite/libgomp.c/static-chunk-size-one.c: New test.

From-SVN: r227124

9 years agonvptx.c (walk_args_for_param): Revert previous change to nvptx_type_from_mode call.
Nathan Sidwell [Mon, 24 Aug 2015 12:43:54 +0000 (12:43 +0000)]
nvptx.c (walk_args_for_param): Revert previous change to nvptx_type_from_mode call.

* config/nvptx/nvptx.c (walk_args_for_param): Revert previous
change to nvptx_type_from_mode call. Use arg_promotion for both
split and non-split args.

From-SVN: r227123

9 years agotarget-insns.def (movstr): New pattern.
Richard Sandiford [Mon, 24 Aug 2015 11:13:16 +0000 (11:13 +0000)]
target-insns.def (movstr): New pattern.

gcc/
* target-insns.def (movstr): New pattern.
* builtins.c (HAVE_movstr, CODE_FOR_movstr): Delete.
(expand_movstr): Use targetm rather than HAVE_movstr/
CODE_FOR_movstr.

From-SVN: r227121

9 years agomicroblaze.c (microblaze_classify_unspec): Fix cast syntax.
Richard Sandiford [Mon, 24 Aug 2015 11:12:32 +0000 (11:12 +0000)]
microblaze.c (microblaze_classify_unspec): Fix cast syntax.

gcc/
* config/microblaze/microblaze.c (microblaze_classify_unspec): Fix
cast syntax.

From-SVN: r227120

9 years agore PR libgomp/66761 (libgomp: ThreadSanitizer: data race in libgomp)
Joost VandeVondele [Mon, 24 Aug 2015 11:01:25 +0000 (11:01 +0000)]
re PR libgomp/66761 (libgomp: ThreadSanitizer: data race in libgomp)

        PR libgomp/66761
        PR libgomp/67303
        * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
        (gomp_iter_guided_next): Idem.
        * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
        (gomp_iter_ull_guided_next): Idem.
        * config/linux/wait.h (do_spin): Idem.

From-SVN: r227119

9 years agoMissing parts of fixes for in-tree libiconv
Yaakov Selkowitz [Mon, 24 Aug 2015 10:24:52 +0000 (10:24 +0000)]
Missing parts of fixes for in-tree libiconv

(The previous iconv-related commit missed the config/iconv.m4 change.)

Original description:

This is the second in a series of patches to make a build with an
in-tree GNU libiconv work as designed.

Currently GDB is the only toolchain component which actually uses an
in-tree libiconv.  This patch modifies the common AM_ICONV to use an
in-tree libiconv when present and not already provided by libc.
(GDB's workaround uses an in-tree libiconv even when libc provides
iconv(3); I'm not sure when or why that would be desirable.)

config/ChangeLog:
2015-08-24  Yaakov Selkowitz  <yselkowi@redhat.com>

* iconv.m4 (AM_ICONV_LINK): Use in-tree libiconv when present.
---
 config/ChangeLog   |  4 +++
 config/iconv.m4    | 47 +++++++++++++++++++++------
 4 files changed, 112 insertions(+), 36 deletions(-)

diff --git a/config/iconv.m4 b/config/iconv.m4
index c5f3579..5f9304a 100644
--- a/config/iconv.m4
+++ b/config/iconv.m4
@@ -7,6 +7,7 @@ dnl that contains a configuration script generated by Autoconf, under
 dnl the same distribution terms as the rest of that program.

 dnl From Bruno Haible.
+dnl with modifications to support building with in-tree libiconv

 AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
 [
@@ -28,24 +29,51 @@ AC_DEFUN([AM_ICONV_LINK],
   dnl accordingly.
   AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])

-  dnl Add $INCICONV to CPPFLAGS before performing the following checks,
-  dnl because if the user has installed libiconv and not disabled its use
-  dnl via --without-libiconv-prefix, he wants to use it. The first
-  dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
-  am_save_CPPFLAGS="$CPPFLAGS"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
-
   AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
     am_cv_func_iconv="no, consider installing GNU libiconv"
     am_cv_lib_iconv=no
+    dnl Add $INCICONV to CPPFLAGS before performing the first check,
+    dnl because if the user has installed libiconv and not disabled its use
+    dnl via --without-libiconv-prefix, he wants to use it. This first
+    dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
+    am_save_CPPFLAGS="$CPPFLAGS"
+    CPPFLAGS="$CPPFLAGS $INCICONV"
     AC_TRY_LINK([#include <stdlib.h>
 #include <iconv.h>],
       [iconv_t cd = iconv_open("","");
        iconv(cd,NULL,NULL,NULL,NULL);
        iconv_close(cd);],
       am_cv_func_iconv=yes)
+    CPPFLAGS="$am_save_CPPFLAGS"
+
+    if test "$am_cv_func_iconv" != yes && test -d ../libiconv; then
+      for _libs in .libs _libs; do
+        am_save_CPPFLAGS="$CPPFLAGS"
+        am_save_LIBS="$LIBS"
+        CPPFLAGS="$CPPFLAGS -I../libiconv/include"
+        LIBS="$LIBS ../libiconv/lib/$_libs/libiconv.a"
+        AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+          [iconv_t cd = iconv_open("","");
+           iconv(cd,NULL,NULL,NULL,NULL);
+           iconv_close(cd);],
+          INCICONV="-I../libiconv/include"
+          LIBICONV='${top_builddir}'/../libiconv/lib/$_libs/libiconv.a
+          LTLIBICONV='${top_builddir}'/../libiconv/lib/libiconv.la
+          am_cv_lib_iconv=yes
+          am_cv_func_iconv=yes)
+        CPPFLAGS="$am_save_CPPFLAGS"
+        LIBS="$am_save_LIBS"
+        if test "$am_cv_func_iconv" = "yes"; then
+          break
+        fi
+      done
+    fi
+
     if test "$am_cv_func_iconv" != yes; then
+      am_save_CPPFLAGS="$CPPFLAGS"
       am_save_LIBS="$LIBS"
+      CPPFLAGS="$LIBS $INCICONV"
       LIBS="$LIBS $LIBICONV"
       AC_TRY_LINK([#include <stdlib.h>
 #include <iconv.h>],
@@ -54,6 +82,7 @@ AC_DEFUN([AM_ICONV_LINK],
          iconv_close(cd);],
         am_cv_lib_iconv=yes
         am_cv_func_iconv=yes)
+      CPPFLAGS="$am_save_CPPFLAGS"
       LIBS="$am_save_LIBS"
     fi
   ])
@@ -61,12 +90,10 @@ AC_DEFUN([AM_ICONV_LINK],
     AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
   fi
   if test "$am_cv_lib_iconv" = yes; then
+    AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
     AC_MSG_CHECKING([how to link with libiconv])
     AC_MSG_RESULT([$LIBICONV])
   else
-    dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
-    dnl either.
-    CPPFLAGS="$am_save_CPPFLAGS"
     LIBICONV=
     LTLIBICONV=
   fi
--
1.9.3

From-SVN: r227118

9 years agoRemove the hack for AARCH64_EXTRA_TUNE_ALL.
Andrew Pinski [Mon, 24 Aug 2015 09:56:48 +0000 (09:56 +0000)]
Remove the hack for AARCH64_EXTRA_TUNE_ALL.

2015-08-24  Andrew Pinski  <apinski@cavium.com>

        * config/aarch64/aarch64-tuning-flags.def: Remove all index to
        AARCH64_EXTRA_TUNING_OPTION.
        * config/aarch64/aarch64-protos.h (aarch64_extra_tuning_flags_index): New enum.
        (aarch64_extra_tuning_flags): Base the shifted value on the index instead
        of the argument to AARCH64_EXTRA_TUNING_OPTION.
        * config/aarch64/aarch64.c: Remove the last argument to
        AARCH64_EXTRA_TUNING_OPTION.

From-SVN: r227117

9 years agoDaily bump.
GCC Administrator [Mon, 24 Aug 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227110

9 years ago* ChangeLog: fix previous entry.
François-Xavier Coudert [Sun, 23 Aug 2015 21:56:46 +0000 (21:56 +0000)]
* ChangeLog: fix previous entry.

From-SVN: r227107

9 years agore PR libfortran/54572 (Use libbacktrace library)
Francois-Xavier Coudert [Sun, 23 Aug 2015 21:50:30 +0000 (21:50 +0000)]
re PR libfortran/54572 (Use libbacktrace library)

PR libfortran/54572

* Makefile.def: Make libgfortran depend on libbacktrace.
* Makefile.in: Regenerate.

* config-lang.in: Add libbacktrace to target_libs.

* Makefile.am (libgfortran_la_LDFLAGS): Link in libbacktrace.
(AM_CPPFLAGS): Add libbacktrace directories to include paths.
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* config.h.in: Regenerate.
* configure: Regenerate.
* configure.ac: Remove checks for strtok_r, wait, execve, pipe,
and dup2. Remove call to GCC_CHECK_UNWIND_GETIPINFO.
* libgfortran.h (full_exe_path, find_addr2line, backtrace): Remove
prototypes.
(show_backtrace): Add prototype.
* runtime/backtrace.c: Rework file entirely.
* runtime/compile_options.c (backtrace_handler): Rename backtrace
to show_backtrace.
(maybe_find_addr2line): Remove function.
(set_options): Remove call to maybe_find_addr2line.
* runtime/error.c (sys_abort): Rename backtrace to show_backtrace.
* runtime/main.c (store_exe_path): Empty function body.
(full_exe_path, gfstrtok_r, find_addr2line): Remove functions.
(cleanup): Don't free removed variables.
* runtime/minimal.c (full_exe_path): Remove function.
(set_args): Don't set exe_path.

* gfortran.dg/backtrace_1.f90: New test.

From-SVN: r227106

9 years agore PR libfortran/62296 (EXECUTE_COMMAND_LINE not F2008 conforming)
François-Xavier Coudert [Sun, 23 Aug 2015 21:24:49 +0000 (21:24 +0000)]
re PR libfortran/62296 (EXECUTE_COMMAND_LINE not F2008 conforming)

PR libfortran/62296

* intrinsics/execute_command_line.c (EXEC_INVALIDCOMMAND): New
error code.
(cmdmsg_values): New error message.
(set_cmdstat): Rework runtime error.
(execute_command_line): Handle invalid command line error status.

* gfortran.dg/execute_command_line_2.f90: New test.

From-SVN: r227105

9 years agonvptx.c (walk_args_for_param): Promote arg reg decls.
Nathan Sidwell [Sun, 23 Aug 2015 14:37:09 +0000 (14:37 +0000)]
nvptx.c (walk_args_for_param): Promote arg reg decls.

* config/nvptx/nvptx.c (walk_args_for_param): Promote arg reg
decls.
(nvptx_declare_function_name): Insert formatting tabs for
consistency.

From-SVN: r227104

9 years agoDon't create superfluous parm in expand_omp_taskreg
Tom de Vries [Sun, 23 Aug 2015 09:19:32 +0000 (09:19 +0000)]
Don't create superfluous parm in expand_omp_taskreg

2015-08-23  Tom de Vries  <tom@codesourcery.com>

* omp-low.c (expand_omp_taskreg): If in ssa, set rhs of parcopy stmt to
parm_decl, rather than generating a dummy default def in cfun.
* tree-cfg.c (replace_ssa_name): Assume no default defs.  Make sure
ssa_name from cfun and child_fn do not share a stmt as def stmt.
(move_stmt_op): Handle PARM_DECl.
(gather_ssa_name_hash_map_from): New function.
(move_sese_region_to_fn): Add default defs for function params, and add
them to vars_map.  Release copied ssa names.
* tree-cfg.h (gather_ssa_name_hash_map_from): Declare.

From-SVN: r227103

9 years agoRename vect_no_int_max to vect_no_int_min_max
Tom de Vries [Sun, 23 Aug 2015 08:35:41 +0000 (08:35 +0000)]
Rename vect_no_int_max to vect_no_int_min_max

2015-08-23  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/vect/trapv-vect-reduc-4.c: Use vect_no_int_min_max.
* gcc.dg/vect/costmodel/i386/costmodel-vect-reduc-1char.c: Rename
vect_no_int_max to vect_no_int_min_max.
* gcc.dg/vect/costmodel/ppc/costmodel-vect-reduc-1char.c: Same.
* gcc.dg/vect/costmodel/x86_64/costmodel-vect-reduc-1char.c: Same.
* gcc.dg/vect/no-scevccp-noreassoc-slp-reduc-7.c: Same.
* gcc.dg/vect/slp-reduc-4.c: Same.
* gcc.dg/vect/slp-reduc-5.c: Same.
* gcc.dg/vect/vect-125.c: Same.
* gcc.dg/vect/vect-13.c: Same.
* gcc.dg/vect/vect-double-reduc-3.c: Same.
* gcc.dg/vect/vect-reduc-1.c: Same.
* gcc.dg/vect/vect-reduc-1char-big-array.c: Same.
* gcc.dg/vect/vect-reduc-1char.c:Same.
* gcc.dg/vect/vect-reduc-1short.c: Same.
* gcc.dg/vect/vect-reduc-2.c: Same.
* gcc.dg/vect/wrapv-vect-reduc-2char.c: Same.
* gcc.dg/vect/wrapv-vect-reduc-2short.c: Same.
* lib/target-supports.exp: Same.

* doc/sourcebuild.texi: Rename vect_no_int_max with
vect_no_int_min_max.  Update description.

From-SVN: r227102

9 years agoDaily bump.
GCC Administrator [Sun, 23 Aug 2015 00:16:20 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227101

9 years agore PR c++/63693 (ICE in resolve_typename_type)
Paolo Carlini [Sat, 22 Aug 2015 17:44:46 +0000 (17:44 +0000)]
re PR c++/63693 (ICE in resolve_typename_type)

/cp
2015-08-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/63693
* pt.c (resolve_typename_type): Use CLASSTYPE_PRIMARY_TEMPLATE_TYPE
only on class types.

/testsuite
2015-08-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/63693
* g++.dg/cpp0x/decltype63.C: New.

From-SVN: r227098

9 years agoWsizeof-pointer-memaccess1.c: Require alloca.
Nathan Sidwell [Sat, 22 Aug 2015 15:09:03 +0000 (15:09 +0000)]
Wsizeof-pointer-memaccess1.c: Require alloca.

* c-c++-common/Wsizeof-pointer-memaccess1.c: Require alloca.
* c-c++-common/Wsizeof-pointer-memaccess2.c: Likewise.
* c-c++-common/Wunused-var-8.c: Likewise.
* c-c++-common/gomp/pr61486-2.c: Likewise.
* c-c++-common/Wunused-var-6.c: Likewise.
* c-c++-common/goacc/reduction-1.c: Likewise.
* c-c++-common/goacc/reduction-2.c: Likewise.
* c-c++-common/goacc/reduction-3.c: Likewise.
* c-c++-common/goacc/reduction-4.c: Likewise.
* gcc.dg/builtins-64.c: Likewise.
* gcc.dg/pr59523.c: Likewise.
* gcc.dg/tree-ssa/20080530.c: Likewise.
* gcc.dg/tree-ssa/pr23848-2.c: Likewise.
* gcc.dg/tree-ssa/pr23848-4.c: Likewise.
* gcc.dg/tree-ssa/pr23848-1.c: Likewise.
* gcc.dg/tree-ssa/pr23848-3.c: Likewise.
* gcc.dg/tree-ssa/20030807-2.c: Likewise.
* gcc.dg/pr59011.c: Likewise.
* gcc.dg/uninit-9.c: Likewise.
* gcc.dg/pr61561.c: Likewise.
* gcc.dg/vla-4.c: Likewise.
* gcc.dg/20101010-1.c: Likewise.
* gcc.dg/pr49120.c: Likewise.
* gcc.dg/20030331-2.c: Likewise.
* gcc.dg/compat/struct-by-value-22_main.c: Likewise.
* gcc.dg/pr25682.c: Likewise.
* gcc.dg/guality/guality.c: Likewise.
* gcc.dg/pr27301.c: Likewise.
* gcc.dg/uninit-9-O0.c: Likewise.
* gcc.dg/fold-alloca-1.c: Likewise.
* gcc.dg/pr41470.c: Likewise.
* gcc.dg/pr51491-2.c: Likewise.
* gcc.dg/winline-7.c: Likewise.
* gcc.dg/vla-2.c: Likewise.
* gcc.dg/pr50764.c: Likewise.
* gcc.dg/c99-vla-1.c: Likewise.
* gcc.dg/pr33238.c: Likewise.
* gcc.dg/c99-const-expr-13.c: Likewise.
* gcc.dg/builtin-return-1.c: Likewise.
* gcc.dg/vla-3.c: Likewise.
* gcc.dg/20020415-1.c: Likewise.
* gcc.dg/Wsizeof-pointer-memaccess1.c: Likewise.
* gcc.dg/shrink-wrap-alloca.c: Likewise.
* gcc.dg/Wstrict-aliasing-bogus-vla-1.c: Likewise.
* gcc.dg/torture/calleesave-sse.c: Likewise.
* gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Likewise.
* gcc.dg/gomp/vla-2.c: Likewise.
* gcc.dg/gomp/vla-3.c: Likewise.
* gcc.dg/gomp/vla-4.c: Likewise.
* gcc.dg/gomp/pr30494.c: Likewise.
* gcc.dg/gomp/vla-5.c: Likewise.
* gcc.dg/pr51990-2.c: Likewise.
* gcc.dg/vla-22.c: Likewise.

From-SVN: r227097

9 years agoFix column location in c_lex_with_flags errors
Manuel López-Ibáñez [Sat, 22 Aug 2015 12:44:51 +0000 (12:44 +0000)]
Fix column location in c_lex_with_flags errors

gcc/testsuite/ChangeLog:

2015-08-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* gcc.dg/cpp/multiline-2.c: Add column numbers.
* gcc.dg/dollar.c: Likewise.
* gcc.dg/pragma-message.c: Likewise.
* g++.dg/cpp1y/digit-sep-neg.C: Likewise.
* c-c++-common/raw-string-14.c: Likewise.

gcc/c-family/ChangeLog:

2015-08-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* c-lex.c (c_lex_with_flags): Use explicit locations.

From-SVN: r227096

9 years agoRemove index from AARCH64_FUSION_PAIR
Andrew Pinski [Sat, 22 Aug 2015 06:49:32 +0000 (06:49 +0000)]
Remove index from AARCH64_FUSION_PAIR

    Instead of doing an explict index in aarch64-fusion-pairs.def, we
    should have an enum which does the index instead.  This allows
    you to add/remove them without worrying about the order being
    correct and having holes or worry about merge conficts.

    OK? Bootstrapped and tested on aarch64-linux-gnu with no regressions.

    ChangeLog:
    * aarch64-fusion-pairs.def: Remove all index to AARCH64_FUSION_PAIR.
    * config/aarch64/aarch64-protos.h (aarch64_fusion_pairs_index): New enum.
    (aarch64_fusion_pairs): Base the shifted value on the index instead
    Rewrite AARCH64_FUSE_ALL to be based on the end index.
    of the argument to AARCH64_FUSION_PAIR.
    * config/aarch64/aarch64.c: Remove the last argument to AARCH64_FUSION_PAIR.

From-SVN: r227094

9 years agoRefactor dominance.c: define dom_info as C++ class
Mikhail Maltsev [Sat, 22 Aug 2015 03:20:13 +0000 (03:20 +0000)]
Refactor dominance.c: define dom_info as C++ class

gcc/
* dominance.c (new_zero_array): Define.
(dom_info): Redefine as class with proper encapsulation.
(dom_info::m_n_basic_blocks, m_reverse, m_start_block, m_end_block):
Add new members.
(dom_info::dom_info, ~dom_info): Define.  Use new/delete for memory
allocations/deallocations.  Pass function as parameter (instead of
using cfun).
(dom_info::get_idom): Define accessor method.
(dom_info::calc_dfs_tree_nonrec, calc_dfs_tree, compress, eval,
link_roots, calc_idoms): Redefine as class members.  Do not use cfun.
(calculate_dominance_info): Adjust to use dom_info class.
(verify_dominators): Likewise.

From-SVN: r227093

9 years agoDaily bump.
GCC Administrator [Sat, 22 Aug 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227092

9 years agoAdjust g++.old-deja/g++.jason/overload.C
Patrick Palka [Fri, 21 Aug 2015 20:25:47 +0000 (20:25 +0000)]
Adjust g++.old-deja/g++.jason/overload.C

gcc/testsuite/ChangeLog:

* g++.old-deja/g++.jason/overload.C: Adjust to preserve original
property that instantiation here is a compile-time error.

From-SVN: r227088

9 years agofix -fdump-unnumbered-links
Alexandre Oliva [Fri, 21 Aug 2015 20:03:33 +0000 (20:03 +0000)]
fix -fdump-unnumbered-links

for  gcc/ChangeLog

* print-rtl.c (print_rtx): Check the correct range for
flag_dump_unnumbered_links to behave as documented.

From-SVN: r227086

9 years agofix sched compare regression
Alexandre Oliva [Fri, 21 Aug 2015 20:03:14 +0000 (20:03 +0000)]
fix sched compare regression

for  gcc/ChangeLog

PR rtl-optimization/64164
PR rtl-optimization/67227
* alias.c (memrefs_conflict_p): Handle VALUEs in PLUS better.
(nonoverlapping_memrefs_p): Test offsets and sizes when given
identical gimple_reg exprs.

From-SVN: r227085

9 years agonvptx.md (allocate_stack): Emit sorry during expansion.
Nathan Sidwell [Fri, 21 Aug 2015 19:34:34 +0000 (19:34 +0000)]
nvptx.md (allocate_stack): Emit sorry during expansion.

* config/nvptx/nvptx.md (allocate_stack): Emit sorry during
expansion.
* config/nvptx/nvptx.c (nvptx_declare_function_name): Look at
crtl->stack_alignment_needed to determine alignment.
(nvptx_get_drap_rtx): New.
(TARGET_GET_DRAP_RTX): Override.
* config/nvptx/nvptx.h (MAX_STACK_ALIGNMENT): Set.

From-SVN: r227084

9 years agore PR c++/67240 ([concepts] Implicit conversion constraints are not respected)
Jason Merrill [Fri, 21 Aug 2015 18:33:07 +0000 (14:33 -0400)]
re PR c++/67240 ([concepts] Implicit conversion constraints are not respected)

PR c++/67240
* constraint.cc (satisfy_implicit_conversion_constraint): Also
check for NULL_TREE.

From-SVN: r227081

9 years ago* config.build: Remove case for m68000-hp-hpux* | m68k-hp-hpux*.
Francois-Xavier Coudert [Fri, 21 Aug 2015 17:44:47 +0000 (17:44 +0000)]
* config.build: Remove case for m68000-hp-hpux* | m68k-hp-hpux*.

From-SVN: r227079

9 years agodecl.c (grokvardecl): Simplify the latter.
Paolo Carlini [Fri, 21 Aug 2015 17:39:48 +0000 (17:39 +0000)]
decl.c (grokvardecl): Simplify the latter.

2015-08-21  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (grokvardecl): Simplify the latter.

From-SVN: r227078

9 years agoconfigure.ac: Remove uwin* cases.
Francois-Xavier Coudert [Fri, 21 Aug 2015 17:38:01 +0000 (17:38 +0000)]
configure.ac: Remove uwin* cases.

* configure.ac: Remove uwin* cases.
* config.build: Remove cases for i370-*-opened*, i370-*-mvs*,
i[34567]86-*-sco3.2v5*, i[34567]86-sequent-ptx4*,
i[34567]86-sequent-sysv4*, i[34567]86-*-sysv4*,
i[34567]86-*-udk*, i[34567]86-*-uwin*, i386-*-vsta.
* config.host: Remove cases for i370-*-opened*, i370-*-mvs*,
i[34567]86-*-uwin*, powerpc-*-beos*.

From-SVN: r227077

9 years agogencodes.c (gencodes): Print the comma for the preceding enum value rather than the...
Richard Sandiford [Fri, 21 Aug 2015 17:23:10 +0000 (17:23 +0000)]
gencodes.c (gencodes): Print the comma for the preceding enum value rather than the current one.

gcc/
* gencodes.c (gencodes): Print the comma for the preceding
enum value rather than the current one.  Use aliased enum values
rather than #defines for compiled-out patterns.
(main): Update accordingly.  Replace LAST_INSN_CODE with
NUM_INSN_CODES.
* lra.c (insn_code_data): Update accordingly.
(finish_insn_code_data_once, get_static_insn_data): Likewise.
* recog.h (target_recog): Likewise.
(preprocess_insn_constraints): Change parameter to unsigned int.
* recog.c (preprocess_insn_constraints): Likewise.
(recog_init): Replace LAST_INSN_CODE with NUM_INSN_CODES.
* tree-vect-stmts.c (vectorizable_operation): Simplify.

From-SVN: r227076

9 years agoFix PR61657 (undefined behavior in loop-iv.c)
Markus Trippelsdorf [Fri, 21 Aug 2015 16:44:30 +0000 (16:44 +0000)]
Fix PR61657 (undefined behavior in loop-iv.c)

bootstrap-ubsan shows:
 loop-iv.c:2626:14: runtime error: signed integer overflow: 9223372036854775806 - -9223372036854775808 cannot be represented in type 'long int'

Fixed by moving the variables in question from signed to unsigned.

PR rtl-optimization/61657
* loop-iv.c (iv_number_of_iterations): Declare up and down as
unsigned. Remove superflous uint64_t cast.

From-SVN: r227075

9 years agodecl.c (grokvardecl): Complete check added for c++/67065.
Paolo Carlini [Fri, 21 Aug 2015 14:44:33 +0000 (14:44 +0000)]
decl.c (grokvardecl): Complete check added for c++/67065.

/cp
2015-08-21  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (grokvardecl): Complete check added for c++/67065.

/testsuite
2015-08-21  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/other/pr67065.C: Extend.

From-SVN: r227061

9 years agovalue-prof.c (interesting_stringop_to_profile_p): Removed FNDECL argument and get...
Felix Yang [Fri, 21 Aug 2015 14:34:52 +0000 (14:34 +0000)]
value-prof.c (interesting_stringop_to_profile_p): Removed FNDECL argument and get builtin function code directly from CALL.

* value-prof.c (interesting_stringop_to_profile_p): Removed FNDECL argument
and get builtin function code directly from CALL.
(gimple_stringop_fixed_value): Modified accordingly.
(gimple_stringops_transform, gimple_stringops_values_to_profile): Modified
accordingly and only accept BUILT_IN_NORMAL string operations.

Co-Authored-By: Jiji Jiang <jiangjiji@huawei.com>
From-SVN: r227060

9 years agonvptx cleanup
Nathan Sidwell [Fri, 21 Aug 2015 13:13:42 +0000 (13:13 +0000)]
nvptx cleanup

nvptx cleanup
* lib/target-supports.exp (check_effective_target_freestanding): nvptx
is freestanding.
(check_effective_target_global_constructor): New.
* lib/gcc.exp (gcc_target_compile): Set SIGNAL_SUPPRESS if needed.
* gcc.dg/debug/debug.exp: Skip  for nvptx.
* gcc.dg/debug/dwarf2/dwarf2.exp: Likewise.

* gcc.c-torture/execute/981019-1.c: Ptx assembler bug.
* gcc.c-torture/compile/limits-externdecl.c: Likewise.
* gcc.c-torture/compile/pr33855.c: Likewise.
* gcc.c-torture/compile/920723-1.c: Likewise.
* gcc.c-torture/compile/pr35468.c: Ptx assembler objects to
writing a const.
* gcc.c-torture/compile/mangle-1.c: Ptx assembler objects to . in
label.
* gcc.c-torture/compile/callind.c: Ptx assembler objects to label
'call'.

* gcc.c-torture/execute/ieee/mul-subnormal-single-1.c: Make main
prototype normal.
* gcc.c-torture/execute/switch-1.c: Likewise.

* gcc.c-torture/execute/pr34456.c: Require not freestanding
* gcc.c-torture/execute/printf-1.c: Likewise.
* gcc.c-torture/execute/printf-chk-1.c: Likewise.
* gcc.c-torture/execute/fprintf-1.c: Likewise.
* gcc.c-torture/execute/fprintf-chk-1.c: Likewise.
* gcc.c-torture/execute/vprintf-1.c: Likewise.
* gcc.c-torture/execute/vprintf-chk-1.c: Likewise.
* gcc.c-torture/execute/vfprintf-1.c: Likewise.
* gcc.c-torture/execute/vfprintf-chk-1.c: Likewise.
* gcc.c-torture/execute/builtins/fputs.x: Likewise.
* gcc.c-torture/execute/gofast.c: Likewise.
* gcc.c-torture/execute/complex-6.c: Likewise.

* gcc.c-torture/execute/builtins/memcpy-chk.x: Require nonlocal goto.
* gcc.c-torture/execute/builtins/memmove-chk.x: Likewise.
* gcc.c-torture/execute/builtins/mempcpy-chk.x: Likewise.
* gcc.c-torture/execute/builtins/memset-chk.x: Likewise.
* gcc.c-torture/execute/builtins/snprintf-chk.x: Likewise.
* gcc.c-torture/execute/builtins/sprintf-chk.x: Likewise.
* gcc.c-torture/execute/builtins/stpcpy-chk.x: Likewise.
* gcc.c-torture/execute/builtins/stpncpy-chk.x: Likewise.
* gcc.c-torture/execute/builtins/strcat-chk.x: Likewise.
* gcc.c-torture/execute/builtins/strcpy-chk.x: Likewise.
* gcc.c-torture/execute/builtins/strncat-chk.x: Likewise.
* gcc.c-torture/execute/builtins/strncpy-chk.x: Likewise.
* gcc.c-torture/execute/builtins/vsnprintf-chk.x: Likewise.
* gcc.c-torture/execute/builtins/vsprintf-chk.x: Likewise.
* gcc.c-torture/execute/builtins/pr23484-chk.x: Likewise.
* gcc.dg/setjmp-1.c: Likewise.
* gcc.dg/cleanup-5.c: Likewise.
* gcc.dg/cleanup-12.c: Likewise.
* gcc.dg/cleanup-13.c: Likewise.

* gcc.dg/constructor-1.c: Require global ctor.

* gcc.dg/fork-instrumentation.c: Require profiling.
* gcc.dg/20030107-1.c: Likewise.
* gcc.dg/20030702-1.c: Likewise.

* gcc.dg/cpp/lexstrng.c: Avoid IO unless debugging.
* gcc.dg/cpp/paste2.c: Likewise.
* gcc.dg/cpp/strify3.c: Likewise.
* gcc.dg/cpp/strify4.c: Likewise.
* gcc.dg/cpp/lexnum.c: Likewise.
* gcc.dg/cpp/digraphs.c: Likewise.
* gcc.dg/cpp/macro1.c: Likewise.

From-SVN: r227059

9 years agos390-builtins.def: Fix value range of vec_load_bndry.
Dominik Vogt [Fri, 21 Aug 2015 12:51:20 +0000 (12:51 +0000)]
s390-builtins.def: Fix value range of vec_load_bndry.

gcc/ChangeLog
2015-08-21  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* config/s390/s390-builtins.def: Fix value range of vec_load_bndry.

gcc/testsuite/ChangeLog
2015-08-21  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* gcc.target/s390/zvector/vec-load_bndry-1.c: New test.

From-SVN: r227058

9 years agogcc-dg.exp: Add extra options for db-final to the command line only once.
Dominik Vogt [Fri, 21 Aug 2015 12:48:08 +0000 (12:48 +0000)]
gcc-dg.exp: Add extra options for db-final to the command line only once.

2015-08-21  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* lib/gcc-dg.exp: Add extra options for db-final to the command line
only once.

From-SVN: r227057

9 years agofold-const.c (fold_binary_loc): Move sqrt(x)*sqrt(x) as x to match.pd.
Naveen H.S [Fri, 21 Aug 2015 10:46:09 +0000 (10:46 +0000)]
fold-const.c (fold_binary_loc): Move sqrt(x)*sqrt(x) as x to match.pd.

2015-08-21  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

* fold-const.c (fold_binary_loc) : Move sqrt(x)*sqrt(x) as x
to match.pd.
Move Optimize pow(x,y)*pow(z,y) as pow(x*z,y)to match.pd.
Move Optimize tan(x)*cos(x) as sin(x) to match.pd.
Move Optimize x*pow(x,c) as pow(x,c+1) to match.pd.
Move Optimize pow(x,c)*x as pow(x,c+1) to match.pd.
Move Optimize sin(x)/cos(x) as tan(x) to match.pd.
Move Optimize cos(x)/sin(x) as 1.0/tan(x) to match.pd.
Move Optimize sin(x)/tan(x) as cos(x) to match.pd.
Move Optimize tan(x)/sin(x) as 1.0/cos(x) to match.pd.
Move Optimize pow(x,c)/x as pow(x,c-1) to match.pd.
Move Optimize x/pow(y,z) into x*pow(y,-z) to match.pd.

* match.pd (SIN ) : New Operator.
(TAN) : New Operator.
(mult (SQRT@1 @0) @1) : New simplifier.
(mult (POW:s @0 @1) (POW:s @2 @1)) : New simplifier.
(mult:c (TAN:s @0) (COS:s @0)) : New simplifier.
(mult:c (TAN:s @0) (COS:s @0)) : New simplifier.
(rdiv (SIN:s @0) (COS:s @0)) : New simplifier.
(rdiv (COS:s @0) (SIN:s @0)) : New simplifier.
(rdiv (SIN:s @0) (TAN:s @0)) : New simplifier.
(rdiv (TAN:s @0) (SIN:s @0)) : New simplifier.
(rdiv (POW:s @0 REAL_CST@1) @0) : New simplifier.
(rdiv @0 (SQRT:s (rdiv:s @1 @2))) : New simplifier.
(rdiv @0 (POW:s @1 @2)) : New simplifier.

From-SVN: r227056

9 years agotree-ssa-loop-niter.c (simplify_using_initial_conditions): Break loop if EXPR is...
Bin Cheng [Fri, 21 Aug 2015 10:09:48 +0000 (10:09 +0000)]
tree-ssa-loop-niter.c (simplify_using_initial_conditions): Break loop if EXPR is simplified to const value.

* tree-ssa-loop-niter.c (simplify_using_initial_conditions): Break
loop if EXPR is simplified to const value.

From-SVN: r227055

9 years agosanitizer.def (BUILT_IN_UBSAN_HANDLE_NONNULL_ARG, [...]): Fix builtin types.
Yury Gribov [Fri, 21 Aug 2015 08:42:57 +0000 (08:42 +0000)]
sanitizer.def (BUILT_IN_UBSAN_HANDLE_NONNULL_ARG, [...]): Fix builtin types.

2015-08-21  Yury Gribov  <y.gribov@samsung.com>

* sanitizer.def (BUILT_IN_UBSAN_HANDLE_NONNULL_ARG,
BUILT_IN_UBSAN_HANDLE_NONNULL_ARG): Fix builtin types.

From-SVN: r227054

9 years agore PR middle-end/67285 (ICE with (rdiv (POW:s @0 REAL_CST@1) @0))
Richard Biener [Fri, 21 Aug 2015 08:06:20 +0000 (08:06 +0000)]
re PR middle-end/67285 (ICE with (rdiv (POW:s @0 REAL_CST@1) @0))

2015-08-21  Richard Biener  <rguenther@suse.de>

PR middle-end/67285
* gimple-fold.c (replace_stmt_with_simplification): Assert
seq is empty when replacing a call with itself but different
arguments.
* gimple-match-head.c (maybe_push_res_to_seq): When pushing
a call require that it is const.

From-SVN: r227053

9 years agoadd default for CONSTANT_ALIGNMENT
Trevor Saunders [Fri, 21 Aug 2015 01:15:33 +0000 (01:15 +0000)]
add default for CONSTANT_ALIGNMENT

gcc/ChangeLog:

2015-08-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* defaults.h (CONSTANT_ALIGNMENT): New macro definition.
* builtins.c (get_object_alignment_2): Adjust.
* varasm.c (align_variable): Likewise.
(get_variable_align): Likewise.
(build_constant_desc): Likewise.
(force_const_mem): Likewise.
* doc/tm.texi.in: Likewise.
* doc/tm.texi: Regenerate.

From-SVN: r227052

9 years agoalways define HAVE_peephole2
Trevor Saunders [Fri, 21 Aug 2015 01:15:15 +0000 (01:15 +0000)]
always define HAVE_peephole2

gcc/ChangeLog:

2015-08-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* genconfig.c (main): Always define HAVE_cc0.
* recog.c (rest_of_handle_peephole2): Adjust.

From-SVN: r227051

9 years agoremove another #if for HAVE_cc0
Trevor Saunders [Fri, 21 Aug 2015 01:14:59 +0000 (01:14 +0000)]
remove another #if for HAVE_cc0

gcc/ChangeLog:

2015-08-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* reorg.c (relax_delay_slots): Don't use #if to check value of
HAVE_cc0.

From-SVN: r227050

9 years agoalways define HAVE_conditional_execution
Trevor Saunders [Fri, 21 Aug 2015 01:14:46 +0000 (01:14 +0000)]
always define HAVE_conditional_execution

gcc/ChangeLog:

2015-08-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* genconfig.c (main): Always define HAVE_CONDITIONAL_EXECUTION.
* targhooks.c (default_have_conditional_execution): Adjust.

From-SVN: r227049

9 years agoDaily bump.
GCC Administrator [Fri, 21 Aug 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227048

9 years ago* name-lookup.c (hidden_name_p): Handle OVERLOAD.
Jason Merrill [Thu, 20 Aug 2015 20:55:15 +0000 (16:55 -0400)]
* name-lookup.c (hidden_name_p): Handle OVERLOAD.

From-SVN: r227044

9 years agolibstdc++/67294 Don't run timed mutex tests on Darwin
Jonathan Wakely [Thu, 20 Aug 2015 20:36:19 +0000 (21:36 +0100)]
libstdc++/67294 Don't run timed mutex tests on Darwin

PR libstdc++/67294
* testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Do not run
on Darwin.
* testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise.

From-SVN: r227043

9 years agoany (__any_caster): Define at namespace scope so the name is visible to name lookup.
Jonathan Wakely [Thu, 20 Aug 2015 20:19:58 +0000 (21:19 +0100)]
any (__any_caster): Define at namespace scope so the name is visible to name lookup.

* include/experimental/any (__any_caster): Define at namespace scope
so the name is visible to name lookup.
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.

From-SVN: r227042

9 years agortl.h (rtvec_all_equal_p): Declare.
Richard Sandiford [Thu, 20 Aug 2015 19:04:34 +0000 (19:04 +0000)]
rtl.h (rtvec_all_equal_p): Declare.

gcc/
* rtl.h (rtvec_all_equal_p): Declare.
(const_vec_duplicate_p, unwrap_const_vec_duplicate): New functions.
* rtl.c (rtvec_all_equal_p): New function.
* expmed.c (expand_mult): Use unwrap_const_vec_duplicate.
* config/aarch64/aarch64.c (aarch64_vect_float_const_representable_p)
(aarch64_simd_dup_constant): Use const_vec_duplicate_p.
* config/arm/arm.c (neon_vdup_constant): Likewise.
* config/s390/s390.c (s390_contiguous_bitmask_vector_p): Likewise.
* config/tilegx/constraints.md (W, Y): Likewise.
* config/tilepro/constraints.md (W, Y): Likewise.
* config/spu/spu.c (spu_legitimate_constant_p): Likewise.
(classify_immediate): Use unwrap_const_vec_duplicate.
* config/tilepro/predicates.md (reg_or_v4s8bit_operand): Likewise.
(reg_or_v2s8bit_operand): Likewise.
* config/tilegx/predicates.md (reg_or_v8s8bit_operand): Likewise.
(reg_or_v4s8bit_operand): Likewise.

From-SVN: r227041

9 years agolibitm: Don't redefine __always_inline in local_atomic.
Gleb Fotengauer-Malinovskiy [Thu, 20 Aug 2015 17:55:24 +0000 (17:55 +0000)]
libitm: Don't redefine __always_inline in local_atomic.

From-SVN: r227040

9 years agocompiler: Don't crash on invalid print call.
Ian Lance Taylor [Thu, 20 Aug 2015 17:43:55 +0000 (17:43 +0000)]
compiler: Don't crash on invalid print call.

    When the print builtins are called with no arguments, the compiler
    issues a warning and crashes when trying to produce the backend
    representation for the arguments.

    Fixes golang/go#11526.

    Reviewed-on: https://go-review.googlesource.com/13131

From-SVN: r227039

9 years agolibgo/testsuite: another fix for killing the sleep process
Ian Lance Taylor [Thu, 20 Aug 2015 17:10:45 +0000 (17:10 +0000)]
libgo/testsuite: another fix for killing the sleep process

    Avoid ps padding issues.  Make sure we locate and kill just the sleep
    process.

    Reviewed-on: https://go-review.googlesource.com/13634

From-SVN: r227037

9 years agoaltivec.h (vec_pmsum_be): New #define.
Bill Schmidt [Thu, 20 Aug 2015 17:01:32 +0000 (17:01 +0000)]
altivec.h (vec_pmsum_be): New #define.

[gcc]

2015-08-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/altivec.h (vec_pmsum_be): New #define.
(vec_shasigma_be): New #define.
* config/rs6000/rs6000-builtin.def (VPMSUMB): New BU_P8V_AV2_2.
(VPMSUMH): Likewise.
(VPMSUMW): Likewise.
(VPMSUMD): Likewise.
(VPMSUM): New BU_P8V_OVERLOAD_2.
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): New
entries for VEC_MADD and VEC_VPMSUM.

[gcc/testsuite]

2015-08-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/altivec-35.c (foo): Add tests for vec_madd.
* gcc.target/powerpc/p8vector-builtin-8.c (foo): Add tests for
vec_vpmsum_be and vec_shasigma_be.

From-SVN: r227036

9 years agoavr.c (avr_insert_attributes): In diagnostic essage: Multiply argument avr_n_flash...
Georg-Johann Lay [Thu, 20 Aug 2015 14:22:35 +0000 (14:22 +0000)]
avr.c (avr_insert_attributes): In diagnostic essage: Multiply argument avr_n_flash by 64 to match unit of "KiB".

* config/avr/avr.c (avr_insert_attributes): In diagnostic essage:
Multiply argument avr_n_flash by 64 to match unit of "KiB".
(avr_pgm_check_var_decl): Same.

From-SVN: r227035

9 years ago[ARM] Hide existing float16 intrinsics unless we have a scalar __fp16 type
Alan Lawrence [Thu, 20 Aug 2015 12:38:20 +0000 (12:38 +0000)]
[ARM] Hide existing float16 intrinsics unless we have a scalar __fp16 type

gcc/:

* config/arm/arm-builtins.c (arm_init_simd_builtin_types): Move
initialization of HFmode scalar type (float16_t) to...
(arm_init_fp16_builtins): ... Here. Combine with __fp16 initialization
code.

(arm_init_builtins): Call arm_init_fp16_builtins earlier and always.

* config/arm/arm_neon.h (vcvt_f16_f32, vcvt_f32_f16): Condition on
having an -mfp16-format.

gcc/testsuite/:

* lib/target-supports.exp
(check_effective_target_arm_neon_fp16_ok_nocache): Add flag variants
with -mfp16-format=ieee.

From-SVN: r227033

9 years agopredicates.md (vector_all_ones_operand): Use CONSTM1_RTX to simplify definition.
Richard Sandiford [Thu, 20 Aug 2015 11:36:00 +0000 (11:36 +0000)]
predicates.md (vector_all_ones_operand): Use CONSTM1_RTX to simplify definition.

gcc/
* config/i386/predicates.md (vector_all_ones_operand): Use
CONSTM1_RTX to simplify definition.

From-SVN: r227032

9 years agotoplev.c (compile_file): Remove loop calling late_global_decl on all symbols.
Richard Biener [Thu, 20 Aug 2015 11:02:30 +0000 (11:02 +0000)]
toplev.c (compile_file): Remove loop calling late_global_decl on all symbols.

2015-08-20  Richard Biener  <rguenther@suse.de>

* toplev.c (compile_file): Remove loop calling late_global_decl
on all symbols.
* varpool.c (varpool_node::assemble_decl): Call late_global_decl
on decls we assembled.

From-SVN: r227031

9 years agoMakefile.am: Ensure gdb.py is installed for libstdc++ not libstdc++fs.
Jonathan Wakely [Thu, 20 Aug 2015 10:50:02 +0000 (11:50 +0100)]
Makefile.am: Ensure gdb.py is installed for libstdc++ not libstdc++fs.

* python/Makefile.am: Ensure gdb.py is installed for libstdc++ not
libstdc++fs.
* python/Makefile.in: Regenerate.

# Auto-generated commit message above this line, original below.
* python/Makefile.am: Ensure gdb.py is installed for libstdc++ not
libstdc++fs.
* python/Makefile.in: Regenerate.

From-SVN: r227030

9 years ago[AArch64] Break -mcpu tie between the compiler and assembler
James Greenhalgh [Thu, 20 Aug 2015 10:18:54 +0000 (10:18 +0000)]
[AArch64] Break -mcpu tie between the compiler and assembler

gcc/

* common/config/aarch64/aarch64-common.c
(AARCH64_CPU_NAME_LENGTH): Delete.
(aarch64_option_extension): New.
(all_extensions): Likewise.
(processor_name_to_arch): Likewise.
(arch_to_arch_name): Likewise.
(all_cores): New.
(all_architectures): Likewise.
(aarch64_get_extension_string_for_isa_flags): Likewise.
(aarch64_rewrite_selected_cpu): Change to rewrite CPU names to
architecture names.
* config/aarch64/aarch64-protos.h
(aarch64_get_extension_string_for_isa_flags): New.
* config/aarch64/aarch64.c (aarch64_print_extension): Delete.
(aarch64_option_print): Get the string to print from
aarch64_get_extension_string_for_isa_flags.
(aarch64_declare_function_name): Likewise.
* config/aarch64/aarch64.h (BIG_LITTLE_SPEC): Rename to...
(MCPU_TO_MARCH_SPEC): This.
(ASM_CPU_SPEC): Use it.
(BIG_LITTLE_SPEC_FUNCTIONS): Rename to...
(MCPU_TO_MARCH_SPEC_FUNCTIONS): ...This.
(EXTRA_SPEC_FUNCTIONS): Use it.

From-SVN: r227028

9 years agore PR c++/67065 ([DR 1886] Missing diagnostics for ill-formed program with main varia...
Paolo Carlini [Thu, 20 Aug 2015 10:18:03 +0000 (10:18 +0000)]
re PR c++/67065 ([DR 1886] Missing diagnostics for ill-formed program with main variable instead of function)

/cp
2015-08-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/67065
* decl.c (grokvardecl): Reject 'main' as global variable.

/testsuite
2015-08-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/67065
* g++.dg/other/pr67065.C: New.

From-SVN: r227027

9 years agomips.c (mips_expand_block_move): Enable inline memcpy expansion when !ISA_HAS_LWL_LWR.
Simon Dardis [Thu, 20 Aug 2015 09:45:33 +0000 (10:45 +0100)]
mips.c (mips_expand_block_move): Enable inline memcpy expansion when !ISA_HAS_LWL_LWR.

gcc/

   * config/mips/mips.c (mips_expand_block_move): Enable inline memcpy
expansion when !ISA_HAS_LWL_LWR.
(mips_block_move_straight): Update the size of elements copied to
account for alignment when !ISA_HAS_LWL_LWR.
* config/mips/mips.h (MIPS_MIN_MOVE_MEM_ALIGN): New macro.

gcc/testsuite/

* inline-memcpy-1.c: Test for inline expansion of memcpy.
* inline-memcpy-2.c: Ditto.
* inline-memcpy-3.c: Ditto.
* inline-memcpy-4.c: Ditto.
* inline-memcpy-5.c: Ditto.

From-SVN: r227026

9 years ago* MAINTAINERS: fix date.
Simon Dardis [Thu, 20 Aug 2015 09:36:33 +0000 (10:36 +0100)]
* MAINTAINERS: fix date.

From-SVN: r227025

9 years agoMAINTAINERS: Add myself.
Simon Dardis [Thu, 20 Aug 2015 09:12:06 +0000 (10:12 +0100)]
MAINTAINERS: Add myself.

* MAINTAINERS: Add myself.

From-SVN: r227024

9 years agore PR c++/66957 (incorrect "is protected within this context" error)
Jason Merrill [Thu, 20 Aug 2015 01:45:49 +0000 (21:45 -0400)]
re PR c++/66957 (incorrect "is protected within this context" error)

PR c++/66957
* search.c (protected_accessible_p): Remove redundant access_in_type.
Add otype parm instead of walking binfo.
(friend_accessible_p): Check SCOPE itself.  Handle class
templates.  Pass through otype.
(dfs_accessible_post): Handle all accessibility cases.
(dfs_accessible_pre): New.
(accessible_p): Use it.  Don't check protected access here.  Pass
decl and otype to dfs_walk.
(member_declared_in_type, dfs_access_in_type_pre): New.
(access_in_type): Use dfs_access_in_type_pre.
* friend.c (add_friend): Fix multiple friends with the same name.

From-SVN: r227023

9 years ago* lambda.c (current_nonlambda_scope): New.
Jason Merrill [Thu, 20 Aug 2015 01:45:44 +0000 (21:45 -0400)]
* lambda.c (current_nonlambda_scope): New.

From-SVN: r227022

9 years agoDaily bump.
GCC Administrator [Thu, 20 Aug 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227021

9 years ago[Patch][expand] Check gimple statement to improve LSHIFT_EXP expand
Jiong Wang [Wed, 19 Aug 2015 22:55:28 +0000 (22:55 +0000)]
[Patch][expand] Check gimple statement to improve LSHIFT_EXP expand

This patch improves LSHIFT_EXP expand if the shift operand comes from sign
extension and the shift result across word_mode_size boundary. See code
comments for details.

2015-08-19  Jiong.Wang  <jiong.wang@arm.com>

gcc/
  * expr.c (expand_expr_real_2): Check gimple statement during
  LSHIFT_EXPR expand.

gcc/testsuite
  * gcc.dg/wide_shift_64_1.c: New testcase.
  * gcc.dg/wide_shift_128_1.c: Likewise.
  * gcc.target/aarch64/ashlti3_1.c: Likewise.

From-SVN: r227018

9 years agocommon.opt (fstack-protector): Initialize to -1.
Magnus Granberg [Wed, 19 Aug 2015 22:07:06 +0000 (22:07 +0000)]
common.opt (fstack-protector): Initialize to -1.

       * common.opt (fstack-protector): Initialize to -1.
        (fstack-protector-all): Likewise.
        (fstack-protector-strong): Likewise.
        (fstack-protector-explicit): Likewise.
        * configure.ac: Add --enable-default-ssp.
        * defaults.h (DEFAULT_FLAG_SSP): New.  Default SSP to strong.
        * opts.c (finish_options): Update opts->x_flag_stack_protect if it is
        -1.
        * doc/install.texi: Document --enable-default-ssp.
        * config.in: Regenerated.
        * configure: Likewise.

        * lib/target-supports.exp
        (check_effective_target_fstack_protector_enabled): New test.
        * gcc.target/i386/ssp-default.c: New test.

From-SVN: r227017

9 years ago[PR64164] fix regressions reported on m68k and armeb
Alexandre Oliva [Wed, 19 Aug 2015 17:00:32 +0000 (17:00 +0000)]
[PR64164] fix regressions reported on m68k and armeb

Defer stack slot address assignment for all parms that can't live in
pseudos, and accept pseudos assignments in assign_param_setup_block.

for  gcc/ChangeLog

PR rtl-optimization/64164
* cfgexpand.c (parm_maybe_byref_p): Renamed to...
(parm_in_stack_slot_p): ... this.  Disregard mode, what
matters is whether the parm will live in a pseudo or a stack
slot.
(expand_one_ssa_partition): Deal with params without a default
def.  Disregard mode.
* cfgexpand.h: Renamed function declaration.
* tree-ssa-coalesce.c: Adjust.
* function.c (split_complex_args): Allocate stack slot for
unassigned parms before splitting.
(parm_in_unassigned_mem_p): New.  Use it instead of
parm_maybe_byref_p throughout this file.
(assign_parm_setup_block): Use it.  Accept pseudos in the
expand-assigned rtl.
(assign_parm_setup_reg): Drop BLKmode requirement.
(assign_parm_setup_stack): Allocate and fill in the address of
unassigned MEM parms.

From-SVN: r227015

9 years agogenmodes.c (emit_mode_unit_size_inline): New function.
David Sherwood [Wed, 19 Aug 2015 15:23:11 +0000 (15:23 +0000)]
genmodes.c (emit_mode_unit_size_inline): New function.

2015-08-19  David Sherwood  <david.sherwood@arm.com>

    gcc/
* genmodes.c (emit_mode_unit_size_inline): New function.
(emit_mode_unit_precision_inline): New function.
(emit_insn_modes_h): Emit new #define.  Emit new functions.
(emit_mode_unit_size): New function.
(emit_mode_unit_precision): New function.
(emit_mode_adjustments): Add mode_unit_size adjustments.
(emit_insn_modes_c): Emit new arrays.
* machmode.h (GET_MODE_UNIT_SIZE, GET_MODE_UNIT_PRECISION): Update to
use new inline methods.

From-SVN: r227013

9 years ago[AArch64] Use popcount_hwi instead of homebrew version
Kyrylo Tkachov [Wed, 19 Aug 2015 15:09:38 +0000 (15:09 +0000)]
[AArch64] Use popcount_hwi instead of homebrew version

* config/aarch64/aarch64.c (bit_count): Delete prototype
and definition.
(aarch64_print_operand): Use popcount_hwi instead of the above.

From-SVN: r227012

9 years ago[AArch64][obvious] Remove obsolete comment in aarch64-option-extensions.def
Kyrylo Tkachov [Wed, 19 Aug 2015 15:01:21 +0000 (15:01 +0000)]
[AArch64][obvious] Remove obsolete comment in aarch64-option-extensions.def

* config/aarch64/aarch64-option-extensions.def: Delete obsolete
comment.

From-SVN: r227011

9 years agoForward-port test generic_31.f90 from the 5 branch.
Mikael Morin [Wed, 19 Aug 2015 14:47:23 +0000 (14:47 +0000)]
Forward-port test generic_31.f90 from the 5 branch.

gcc/testsuite/
PR fortran/66929
* gfortran.dg/generic_31.f90: New.

From-SVN: r227010

9 years agore PR middle-end/67133 (ICE at -Os and above on x86_64-linux-gnu in gimple_op, at...
Marek Polacek [Wed, 19 Aug 2015 14:22:26 +0000 (14:22 +0000)]
re PR middle-end/67133 (ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274)

PR middle-end/67133
* gimple-ssa-isolate-paths.c
(insert_trap_and_remove_trailing_statements): Rename to ...
(insert_trap): ... this.  Don't remove trailing statements; split
block instead.
(find_explicit_erroneous_behaviour): Don't remove all outgoing edges.

* g++.dg/torture/pr67133.C: New test.

From-SVN: r227009

9 years agoAvoid signed left shift undefined behaviour in sext_hwi
Mikael Morin [Wed, 19 Aug 2015 13:42:36 +0000 (13:42 +0000)]
Avoid signed left shift undefined behaviour in sext_hwi

gcc/
PR other/67042
* hwint.h (sext_hwi): Switch to unsigned for the left shift, and
conditionalize the whole on __GNUC__.  Add fallback code
depending neither on undefined nor implementation-defined behaviour.

From-SVN: r227008

9 years agocmath: Fix typo in comment.
Paolo Carlini [Wed, 19 Aug 2015 13:20:29 +0000 (13:20 +0000)]
cmath: Fix typo in comment.

2015-08-19  Paolo Carlini  <paolo.carlini@oracle.com>

* include/c_global/cmath: Fix typo in comment.

From-SVN: r227007

9 years agocmath: Revert fix for libstdc++/58625...
Paolo Carlini [Wed, 19 Aug 2015 13:17:51 +0000 (13:17 +0000)]
cmath: Revert fix for libstdc++/58625...

2015-08-19  Paolo Carlini  <paolo.carlini@oracle.com>

* include/c_global/cmath: Revert fix for libstdc++/58625, no
longer necessary (__builtin_signbit is now type-generic).

From-SVN: r227006

9 years ago[AArch64] Cleanup whitespace in aarch64.c
Jiong Wang [Wed, 19 Aug 2015 13:02:19 +0000 (13:02 +0000)]
[AArch64] Cleanup whitespace in aarch64.c

2015-08-19  Jiong Wang  <jiong.wang@arm.com>

gcc/
  * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Replace
  whitespaces with tab.

From-SVN: r227005

9 years agoMake the stack non-executable in GNAT tools
Florian Weimer [Wed, 19 Aug 2015 13:00:24 +0000 (15:00 +0200)]
Make the stack non-executable in GNAT tools

Due to PR67205, the deeply nested instantiations require trampolines,
which in turn requires an executable stack for the GNAT tools on
architectures such as x86_64.

From-SVN: r227004

9 years ago* ChangeLog: Fix corrupted entry.
Uros Bizjak [Wed, 19 Aug 2015 09:19:08 +0000 (11:19 +0200)]
* ChangeLog: Fix corrupted entry.

From-SVN: r227003

9 years ago[ARM] Use %wd format for lane printing in bounds_check
Kyrylo Tkachov [Wed, 19 Aug 2015 08:26:43 +0000 (08:26 +0000)]
[ARM] Use %wd format for lane printing in bounds_check

* config/arm/arm.c (bounds_check): Use %wd print format
for HOST_WIDE_INT arguments.

From-SVN: r227002

9 years agoremove more useless typedefs
Trevor Saunders [Wed, 19 Aug 2015 02:48:48 +0000 (02:48 +0000)]
remove more useless typedefs

gcc/c-family/ChangeLog:

2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>

* c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
 typedefs.

gcc/c/ChangeLog:

2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>

* c-aux-info.c, c-parser.c, c-tree.h: Remove useless typedefs.

gcc/cp/ChangeLog:

2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>

* call.c, class.c, cp-tree.h, decl.c, except.c, mangle.c,
method.c, name-lookup.h, parser.c, parser.h, rtti.c,
semantics.c, typeck2.c: Remove useless typedefs.

gcc/fortran/ChangeLog:

2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>

* dependency.c, dependency.h, gfortran.h, io.c, module.c,
parse.h, resolve.c, trans-types.h, trans.h: remove useless
typedefs.

gcc/lto/ChangeLog:

2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>

* lto.h: Remove useless typedefs.

gcc/objc/ChangeLog:

2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>

* objc-act.h, objc-next-runtime-abi-02.c, objc-runtime-hooks.h:
Remove useless typedefs.

gcc/ChangeLog:

2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>

* bb-reorder.c, cfgloop.h, collect2.c, combine.c, dse.c,
dwarf2cfi.c, gcse-common.h, genopinit.c, ggc-page.c, machmode.h,
mcf.c, modulo-sched.c, omp-low.c, read-rtl.c, sched-rgn.c,
signop.h, tree-call-cdce.c, tree-dfa.c, tree-diagnostic.c,
tree-inline.h, tree-scalar-evolution.c, tree-ssa-address.c,
tree-ssa-loop-niter.c, tree-ssa-loop.h, tree-ssa-pre.c,
tree-ssa-reassoc.c, tree-ssa-sccvn.h, tree-ssa-structalias.c,
tree-ssa-uninit.c, tree-ssa.h, tree-vect-loop-manip.c,
tree-vectorizer.h, tree-vrp.c, var-tracking.c: Remove useless
typedefs.

From-SVN: r227001

9 years agoremove useless typedefs
Trevor Saunders [Wed, 19 Aug 2015 02:48:16 +0000 (02:48 +0000)]
remove useless typedefs

gcc/ChangeLog:

2015-08-11  trevor Saunders  <tbsaunde@tbsaunde.org>

* bt-load.c, cgraph.h, dwarf2out.c, dwarf2out.h, final.c,
function.c, graphite-scop-detection.c, haifa-sched.c,
ipa-devirt.c, ipa-split.c, recog.c, ree.c, stmt.c,
tree-data-ref.c, tree-ssa-dom.c, tree-ssa-loop-ivopts.c,
varasm.c: Remove typedefs of structs.

From-SVN: r227000

9 years agoDaily bump.
GCC Administrator [Wed, 19 Aug 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226998

9 years agoaltivec.h (vec_adde): New define.
Bill Schmidt [Tue, 18 Aug 2015 22:02:46 +0000 (22:02 +0000)]
altivec.h (vec_adde): New define.

[gcc]

2015-08-18  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>

* config/rs6000/altivec.h (vec_adde): New define.
(vec_addec): Likewise.
(vec_double): Likewise.
(vec_bperm): Likewise.
(vec_gb): Likewise.
* config/rs6000/rs6000-builtin.def (ADDE): New
BU_ALTIVEC_OVERLOAD_3.
(ADDEC): Likewise.
(DOUBLE): New BU_VSX_OVERLOAD_1.
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add new
entries for ALTIVEC_BUILTIN_VEC_ADDC, ALTIVEC_BUILTIN_VEC_ADDE,
ALTIVEC_BUILTIN_VEC_ADDEC, ALTIVEC_BUILTIN_VEC_ANDC,
VSX_BUILTIN_VEC_DOUBLE, ALTIVEC_BUILTIN_VEC_MERGEH,
ALTIVEC_BUILTIN_VEC_MERGEL, ALTIVEC_BUILTIN_VEC_NOR,
ALTIVEC_BUILTIN_VEC_OR, ALTIVEC_BUILTIN_VEC_XOR,
ALTIVEC_BUILTIN_VEC_PERM, ALTIVEC_BUILTIN_VEC_SEL,
P8V_BUILTIN_VEC_EQV, P8V_BUILTIN_VEC_NAND, P8V_BUILTIN_VEC_ORC,
and P8V_BUILTIN_VEC_VBPERMQ.

[gcc/testsuite]

2015-08-18  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>

* gcc.target/powerpc/altivec-35.c: New test.
* gcc.target/powerpc/p8vector-builtin-8.c: New test.
* gcc.target/powerpc/vsx-vector-7.c: New test.

From-SVN: r226995

9 years ago* print-tree.c (print_node): Handle TREE_BINFO.
Jason Merrill [Tue, 18 Aug 2015 21:29:12 +0000 (17:29 -0400)]
* print-tree.c (print_node): Handle TREE_BINFO.

From-SVN: r226994

9 years agore PR c++/66919 (C++14 ICE during error reporting)
Jason Merrill [Tue, 18 Aug 2015 21:29:07 +0000 (17:29 -0400)]
re PR c++/66919 (C++14 ICE during error reporting)

PR c++/66919
* g++.dg/cpp1y/auto-fn27.C: New.

From-SVN: r226993

9 years agoDR 1155
Jason Merrill [Tue, 18 Aug 2015 21:29:01 +0000 (17:29 -0400)]
DR 1155

DR 1155
* pt.c (convert_nontype_argument): Allow internal linkage in C++11
and up.

From-SVN: r226992

9 years agore PR middle-end/36757 (__builtin_signbit should be type-generic)
Francois-Xavier Coudert [Tue, 18 Aug 2015 20:07:57 +0000 (20:07 +0000)]
re PR middle-end/36757 (__builtin_signbit should be type-generic)

PR middle-end/36757

* builtins.c (expand_builtin_signbit): Add asserts to make sure
we can expand BUILT_IN_SIGNBIT inline.
* builtins.def (BUILT_IN_SIGNBIT): Make type-generic.
* doc/extend.texi: Document the type-generic __builtin_signbit.

* c-common.c (check_builtin_function_arguments): Add check
for BUILT_IN_SIGNBIT argument.

* gcc.dg/builtins-error.c: Add checks for __builtin_signbit.
* gcc.dg/tg-tests.h: Add checks for __builtin_signbit.

From-SVN: r226990

9 years agore PR rtl-optimization/67218 (Combine incorrectly folds (double) (float) (unsigned))
Richard Sandiford [Tue, 18 Aug 2015 19:04:41 +0000 (19:04 +0000)]
re PR rtl-optimization/67218 (Combine incorrectly folds (double) (float) (unsigned))

gcc/
PR rtl-optimization/67218
* simplify-rtx.c (exact_int_to_float_conversion_p): New function.
(simplify_unary_operation_1): Use it.

gcc/testsuite/
PR rtl-optimization/67218
* gcc.c-torture/execute/ieee/pr67218.c,
gcc.target/aarch64/fcvt_int_float_double1.c,
gcc.target/aarch64/fcvt_int_float_double2.c,
gcc.target/aarch64/fcvt_int_float_double3.c,
gcc.target/aarch64/fcvt_int_float_double4.c,
gcc.target/aarch64/fcvt_uint_float_double1.c,
gcc.target/aarch64/fcvt_uint_float_double2.c,
gcc.target/aarch64/fcvt_uint_float_double3.c,
gcc.target/aarch64/fcvt_uint_float_double4.c: New tests.

From-SVN: r226987

9 years agore PR c++/67216 (false is still a null pointer constant)
Jonathan Wakely [Tue, 18 Aug 2015 18:04:48 +0000 (19:04 +0100)]
re PR c++/67216 (false is still a null pointer constant)

PR c++/67216
* testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
Fix use of safe-bool idiom that isn't valid in C++11.

From-SVN: r226986

9 years ago* include/bits/ptr_traits.h: Include <bits/move.h> for addressof.
Jonathan Wakely [Tue, 18 Aug 2015 18:04:42 +0000 (19:04 +0100)]
* include/bits/ptr_traits.h: Include <bits/move.h> for addressof.

From-SVN: r226985

9 years agore PR libstdc++/67066 (libstdc++-v3/src/filesystem/dir.cc fails to compile with ...
Jonathan Wakely [Tue, 18 Aug 2015 18:04:32 +0000 (19:04 +0100)]
re PR libstdc++/67066 (libstdc++-v3/src/filesystem/dir.cc fails to compile with --enable-concept-checks)

PR libstdc++/67066
* doc/xml/manual/configure.xml (manual.intro.setup.configure): Add
caveats for --enable-concept-checks. Improve link text.
* doc/xml/manual/diagnostics.xml (std.diagnostics.concept_checking):
Clarify caveats.
* doc/html/*: Regenerate.
* include/bits/stl_deque.h (deque): Only use concept checks in C++03.
* include/bits/stl_stack.h (stack): Likewise.
* include/bits/stl_vector.h (vector): Likewise.

From-SVN: r226984

9 years agoatomic-comp-swap-release-acquire.c: Adjust dg-options to disable LSE extensions.
Matthew Wahab [Tue, 18 Aug 2015 16:10:10 +0000 (16:10 +0000)]
atomic-comp-swap-release-acquire.c: Adjust dg-options to disable LSE extensions.

* gcc.target/aarch64/atomic-comp-swap-release-acquire.c: Adjust
dg-options to disable LSE extensions.
* gcc.target/aarch64/atomic-op-acq_rel.c: Likewise.
* gcc.target/aarch64/atomic-op-acquire.c: Likewise.
* gcc.target/aarch64/atomic-op-char.c: Likewise.
* gcc.target/aarch64/atomic-op-consume.c: Likewise.
* gcc.target/aarch64/atomic-op-imm.c: Likewise.
* gcc.target/aarch64/atomic-op-int.c: Likewise.
* gcc.target/aarch64/atomic-op-long.c: Likewise.
* gcc.target/aarch64/atomic-op-relaxed.c: Likewise.
* gcc.target/aarch64/atomic-op-seq_cst.c: Likewise.
* gcc.target/aarch64/atomic-op-release.c: Likewise.
* gcc.target/aarch64/atomic-op-short.c: Likewise.
* gcc.target/aarch64/sync-comp-swap.c: Likewise.
* gcc.target/aarch64/sync-op-acquire.c: Likewise.
* gcc.target/aarch64/sync-op-full.c: Likewise.
* gcc.target/aarch64/sync-op-release.c: Likewise.

From-SVN: r226979

9 years agore PR c++/67160 (static_assert feature test macro)
Paolo Carlini [Tue, 18 Aug 2015 14:38:51 +0000 (14:38 +0000)]
re PR c++/67160 (static_assert feature test macro)

c-family/
2015-08-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/67160
* c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
in c++1z mode.

testsuite/
2015-08-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/67160
* g++.dg/cpp1z/feat-cxx1z.C: New.

From-SVN: r226972

9 years agore PR middle-end/67222 (ICE in gimple_call_arg with bogus posix_memalign)
Marek Polacek [Tue, 18 Aug 2015 13:41:27 +0000 (13:41 +0000)]
re PR middle-end/67222 (ICE in gimple_call_arg with bogus posix_memalign)

PR middle-end/67222
* gimple-low.c (lower_stmt): Don't lower BUILT_IN_POSIX_MEMALIGN
if the call isn't valid.
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Check builtins using
gimple_call_builtin_p.
(call_may_clobber_ref_p_1): Likewise.
(stmt_kills_ref_p): Likewise.

* gcc.dg/torture/pr67222.c: New test.

From-SVN: r226969

9 years ago[MIPS] Fix register renaming in the interrupt handlers.
Robert Suchanek [Tue, 18 Aug 2015 12:42:12 +0000 (12:42 +0000)]
[MIPS] Fix register renaming in the interrupt handlers.

gcc/
* config/mips/mips-protos.h (mips_hard_regno_rename_ok): New prototype.
* config/mips/mips.c (mips_hard_regno_rename_ok): New function.
(mips_hard_regno_scratch_ok): Likewise.
(TARGET_HARD_REGNO_SCRATCH_OK): Define macro.
* config/mips/mips.h (HARD_REGNO_RENAME_OK): New.

gcc/testsuite/
* gcc.target/mips/interrupt_handler-bug-1.c: New test.

From-SVN: r226968

9 years agotree-ssa-loop-niter.c (refine_value_range_using_guard): New.
Bin Cheng [Tue, 18 Aug 2015 07:57:54 +0000 (07:57 +0000)]
tree-ssa-loop-niter.c (refine_value_range_using_guard): New.

* tree-ssa-loop-niter.c (refine_value_range_using_guard): New.
(determine_value_range): Call refine_value_range_using_guard for
each loop initial condition to improve value range.

gcc/testsuite/ChangeLog
* gcc.dg/tree-ssa/loop-bound-1.c: New test.
* gcc.dg/tree-ssa/loop-bound-3.c: New test.
* gcc.dg/tree-ssa/loop-bound-5.c: New test.

From-SVN: r226966

9 years agoxtensa: fix _Unwind_GetCFA
Max Filippov [Tue, 18 Aug 2015 01:08:22 +0000 (01:08 +0000)]
xtensa: fix _Unwind_GetCFA

Returning context->cfa in _Unwind_GetCFA makes CFA point one stack frame
higher than what was actually used by code at context->ra. This results
in invalid CFA value in signal frames and premature unwinding completion
in forced unwinding used by uClibc NPTL thread cancellation.
Returning context->sp from _Unwind_GetCFA makes all CFA values valid and
matching code that used them.

2015-08-18  Max Filippov  <jcmvbkbc@gmail.com>
libgcc/
* config/xtensa/unwind-dw2-xtensa.c (_Unwind_GetCFA): Return
context->sp instead of context->cfa.

From-SVN: r226964

9 years agoxtensa: use unwind-dw2-fde-dip instead of unwind-dw2-fde
Max Filippov [Tue, 18 Aug 2015 01:07:10 +0000 (01:07 +0000)]
xtensa: use unwind-dw2-fde-dip instead of unwind-dw2-fde

This allows having exception cleanup code in binaries that don't
register their unwind tables.

2015-08-18  Max Filippov  <jcmvbkbc@gmail.com>
libgcc/
* config/xtensa/t-windowed (LIB2ADDEH): Replace unwind-dw2-fde
with unwind-dw2-fde-dip.

From-SVN: r226963