Commit Graph

140286 Commits

Author SHA1 Message Date
Jonathan Wakely 4a88769c96 re PR libstdc++/65049 (Undefined behaviour with std::char_traits<char>)
PR libstdc++/65049
	* include/bits/char_traits.h (char_traits<char>::compare,
	char_traits<char>::find, char_traits<char>::move,
	char_traits<char>::copy, char_traits<char>::assign): Check for zero
	length.
	(char_traits<wchar_t>::compare, char_traits<wchar_t>::find,
	char_traits<wchar_t>::move, char_traits<wchar_t>::copy,
	char_traits<wchar_t>::assign): Likewise.
	(char_traits<char16_t>::move, char_traits<char16_t>::copy): Likewise.
	(char_traits<char32_t>::move, char_traits<char32_t>::copy): Likewise.
	* include/ext/pod_char_traits.h (char_traits<character<>>::move,
	char_traits<character<>>::copy): Likewise.
	* testsuite/21_strings/char_traits/requirements/char/65049.cc: New.
	* testsuite/21_strings/char_traits/requirements/char16_t/65049.cc:
	New.
	* testsuite/21_strings/char_traits/requirements/char32_t/65049.cc:
	New.
	* testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc:
	New.

From-SVN: r227127
2015-08-24 14:43:54 +01:00
Jonathan Wakely 3af7efb7d9 re PR libstdc++/67309 (Error compiling with -std=c++11 and -fsingle-precision-constant)
PR libstdc++/67309
	* include/bits/random.tcc
	(poisson_distribution::param_type::_M_initialize): Use max<double>.
	(binomial_distribution::param_type::_M_initialize): Likewise.
	* testsuite/17_intro/headers/c++200x/67309.cc: New.
	* testsuite/17_intro/headers/c++200x/all_attributes.cc: Remove
	redundant header.

From-SVN: r227126
2015-08-24 14:43:36 +01:00
Thomas Schwinge 8e87588a59 Makefile.am (include_src_dir): Set.
* plugin/Makefile.am (include_src_dir): Set.
	[PLUGIN_HOST] (libgomp_plugin_intelmic_la_CPPFLAGS): Use it.
	* plugin/Makefile.in: Regenerate.
	* plugin/libgomp-plugin-intelmic.cpp: Include "gomp-constants.h".

From-SVN: r227125
2015-08-24 13:20:31 +00:00
Tom de Vries 6be5c241bb 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
2015-08-24 13:14:17 +00:00
Nathan Sidwell 7373d132e1 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
2015-08-24 12:43:54 +00:00
Richard Sandiford 7cff0471e4 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
2015-08-24 11:13:16 +00:00
Richard Sandiford d26ed7fa67 microblaze.c (microblaze_classify_unspec): Fix cast syntax.
gcc/
	* config/microblaze/microblaze.c (microblaze_classify_unspec): Fix
	cast syntax.

From-SVN: r227120
2015-08-24 11:12:32 +00:00
Joost VandeVondele bfe7ac89a0 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
2015-08-24 11:01:25 +00:00
Yaakov Selkowitz d485982286 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
2015-08-24 10:24:52 +00:00
Andrew Pinski a339a01c96 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
2015-08-24 02:56:48 -07:00
GCC Administrator 4fe3a2a110 Daily bump.
From-SVN: r227110
2015-08-24 00:16:14 +00:00
François-Xavier Coudert 52a70ccf61 * ChangeLog: fix previous entry.
From-SVN: r227107
2015-08-23 21:56:46 +00:00
Francois-Xavier Coudert ad4f95e395 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
2015-08-23 21:50:30 +00:00
François-Xavier Coudert 1487cca00c 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
2015-08-23 21:24:49 +00:00
Nathan Sidwell ac9521817d 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
2015-08-23 14:37:09 +00:00
Tom de Vries 2eddac76ab 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
2015-08-23 09:19:32 +00:00
Tom de Vries 1b95056999 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
2015-08-23 08:35:41 +00:00
GCC Administrator d8e5702b99 Daily bump.
From-SVN: r227101
2015-08-23 00:16:20 +00:00
Paolo Carlini 82e78c3f28 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
2015-08-22 17:44:46 +00:00
Nathan Sidwell 2e969ce551 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
2015-08-22 15:09:03 +00:00
Manuel López-Ibáñez 584a7c462b 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
2015-08-22 12:44:51 +00:00
Andrew Pinski ed9fa8d2a3 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
2015-08-21 23:49:32 -07:00
Mikhail Maltsev 2321dd914f 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
2015-08-22 03:20:13 +00:00
GCC Administrator 18e8c3cad5 Daily bump.
From-SVN: r227092
2015-08-22 00:16:12 +00:00
Patrick Palka 245beb304f 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
2015-08-21 20:25:47 +00:00
Alexandre Oliva 27294e9f02 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
2015-08-21 20:03:33 +00:00
Alexandre Oliva 2d88904a41 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
2015-08-21 20:03:14 +00:00
Nathan Sidwell 18c05628a6 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
2015-08-21 19:34:34 +00:00
Jason Merrill 7717e0f19e 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
2015-08-21 14:33:07 -04:00
Francois-Xavier Coudert f291336269 * config.build: Remove case for m68000-hp-hpux* | m68k-hp-hpux*.
From-SVN: r227079
2015-08-21 17:44:47 +00:00
Paolo Carlini d8f29cc021 decl.c (grokvardecl): Simplify the latter.
2015-08-21  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r227078
2015-08-21 17:39:48 +00:00
Francois-Xavier Coudert abe64d9ec4 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
2015-08-21 17:38:01 +00:00
Richard Sandiford 523ba7389a 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
2015-08-21 17:23:10 +00:00
Markus Trippelsdorf f5dffc0ba1 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
2015-08-21 16:44:30 +00:00
Paolo Carlini cf6a9610f2 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
2015-08-21 14:44:33 +00:00
Felix Yang 3b14abc847 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
2015-08-21 14:34:52 +00:00
Nathan Sidwell a560e5d418 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
2015-08-21 13:13:42 +00:00
Dominik Vogt 838326d5d9 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
2015-08-21 12:51:20 +00:00
Dominik Vogt fd21fbd761 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
2015-08-21 12:48:08 +00:00
Naveen H.S 52c6378aa5 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
2015-08-21 10:46:09 +00:00
Bin Cheng eff1e5afad 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
2015-08-21 10:09:48 +00:00
Yury Gribov 55b9e2fc72 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
2015-08-21 08:42:57 +00:00
Richard Biener 4d20d00a0d 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
2015-08-21 08:06:20 +00:00
Trevor Saunders 6b00e42da3 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
2015-08-21 01:15:33 +00:00
Trevor Saunders 70b0dcce28 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
2015-08-21 01:15:15 +00:00
Trevor Saunders 913b71f183 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
2015-08-21 01:14:59 +00:00
Trevor Saunders e1f60ccfab 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
2015-08-21 01:14:46 +00:00
GCC Administrator 1fec569fc8 Daily bump.
From-SVN: r227048
2015-08-21 00:16:11 +00:00
Jason Merrill 062ed8758d * name-lookup.c (hidden_name_p): Handle OVERLOAD.
From-SVN: r227044
2015-08-20 16:55:15 -04:00
Jonathan Wakely 4ba1fef27d 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
2015-08-20 21:36:19 +01:00