]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
8 years agoChangeLog formatting fixes.
jakub [Mon, 5 Sep 2016 19:42:42 +0000 (19:42 +0000)] 
ChangeLog formatting fixes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239997 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-09-05 Mikhail Strelnikov <mikhail.strelnikov@gmail.com>
timshen [Mon, 5 Sep 2016 19:40:44 +0000 (19:40 +0000)] 
2016-09-05  Mikhail Strelnikov  <mikhail.strelnikov@gmail.com>

* include/std/variant (_Variant_storage::_M_storage()): Use std::addressof
instead of operator& to take address.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239996 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * doc/invoke.texi (SPU Options): nops -> NOPs.
gerald [Mon, 5 Sep 2016 18:39:31 +0000 (18:39 +0000)] 
* doc/invoke.texi (SPU Options): nops -> NOPs.
(x86 Options): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239995 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR middle-end/77475
jakub [Mon, 5 Sep 2016 18:14:25 +0000 (18:14 +0000)] 
PR middle-end/77475
* toplev.c (process_options): Temporarily set input_location
to UNKNOWN_LOCATION around targetm.target_option.override () call.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239994 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * sv.po: Update.
jsm28 [Mon, 5 Sep 2016 16:35:56 +0000 (16:35 +0000)] 
* sv.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239992 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR rtl-optimization/77452
uros [Mon, 5 Sep 2016 14:44:19 +0000 (14:44 +0000)] 
PR rtl-optimization/77452
* explow.c (plus_constant) <case MEM>: Extract scalar constant from
inner-mode reference to a CONST_VECTOR constant in the constant pool.

testsuite/ChangeLog:

PR rtl-optimization/77452
* gcc.target/i386/pr77452.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239989 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c/77423
mpolacek [Mon, 5 Sep 2016 12:17:09 +0000 (12:17 +0000)] 
PR c/77423
* doc/invoke.texi: Update -Wlogical-not-parentheses documentation.

* c-common.c (bool_promoted_to_int_p): New function.
(expr_has_boolean_operands_p): New function.
(warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
(maybe_warn_bool_compare): Use bool_promoted_to_int_p.

* c-c++-common/Wlogical-not-parentheses-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239988 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR other/77421
jakub [Mon, 5 Sep 2016 08:50:29 +0000 (08:50 +0000)] 
PR other/77421
* gensupport.c (alter_output_for_subst_insn): Remove redundant
*insn_out == '*' test.  Don't copy unnecessary to yet another
memory buffer, and don't leak it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239987 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR rtl-optimization/77425
jakub [Mon, 5 Sep 2016 08:49:41 +0000 (08:49 +0000)] 
PR rtl-optimization/77425
* ipa-devirt.c (get_odr_type): Set val->id unconditionally.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239986 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Mon, 5 Sep 2016 00:16:15 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239985 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-09-04 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Sun, 4 Sep 2016 20:00:48 +0000 (20:00 +0000)] 
2016-09-04  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/77391
* resolve.c (deferred_requirements): New function to check F2008:C402.
(resolve_fl_variable,resolve_fl_parameter): Use it.

2016-09-04  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/77391
* gfortran.dg/pr77391.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239982 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR documentation/50642
gerald [Sun, 4 Sep 2016 19:38:05 +0000 (19:38 +0000)] 
PR documentation/50642
* update_web_docs_svn (CSS): Introduce.
Have generated files refer to it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239981 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * update_web_docs_svn (CSS): Introduce.
gerald [Sun, 4 Sep 2016 18:44:30 +0000 (18:44 +0000)] 
* update_web_docs_svn (CSS): Introduce.
Have generated files refer to it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239980 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-09-04 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Sun, 4 Sep 2016 18:43:40 +0000 (18:43 +0000)] 
2016-09-04  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/77460
* simplify.c (simplify_transformation_to_scalar):  On error, result
may be NULL, simply return.

2016-09-04  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/77460
* gfortran.dg/pr77460.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239979 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * src/pa/ffi.c (ffi_struct_type): Put type declaration on separate line.
danglin [Sun, 4 Sep 2016 17:39:05 +0000 (17:39 +0000)] 
* src/pa/ffi.c (ffi_struct_type): Put type declaration on separate line.
(ffi_prep_args_pa32): Likewise.
(ffi_size_stack_pa32): Likewise.
(ffi_prep_cif_machdep): Likewise.
(ffi_call): Likewise.  Rename to ffi_call_int.  Add closure argument
and update call to ffi_call_pa32.
(ffi_call, ffi_call_go, ffi_prep_go_closure): New.
(ffi_closure_inner_pa32): Update to handle go closures.
* src/pa/ffitarget.h (FFI_GO_CLOSURES): Define.
* src/pa/hpux32.S (ffi_call_pa32): Pass go closure argument in static
chain register (%ret1).
(ffi_closure_pa32): Set closure type argument to zero.
(ffi_go_closure_pa32): New function.  Add unwind data for it.
* src/pa/linux.S: Likewise.  Use cfi directives for unwind data.
* testsuite/libffi.go/static-chain.h (STATIC_CHAIN_REG): Define for
hppa.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239978 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-09-04 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sun, 4 Sep 2016 16:17:55 +0000 (16:17 +0000)] 
2016-09-04  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/71902
* frontend-passes.c (realloc_string_callback): Also check for the
lhs being deferred.  Name temporary variable "realloc_string".

2016-09-04  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/71902
* gfortran.dg/dependency_47.f90:  New test.
* gfortran.dg/dependency_49.f90:  New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239977 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * inclhack.def (hpux_longjmp): Adjust select regular expression.
danglin [Sun, 4 Sep 2016 16:17:10 +0000 (16:17 +0000)] 
* inclhack.def (hpux_longjmp): Adjust select regular expression.
* fixincl.x: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239976 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoRevert "Replace error_at with assert in build_va_arg"
vries [Sun, 4 Sep 2016 09:07:52 +0000 (09:07 +0000)] 
Revert "Replace error_at with assert in build_va_arg"

2016-09-04  Tom de Vries  <tom@codesourcery.com>

revert:
2016-08-29  Tom de Vries  <tom@codesourcery.com>

* c-common.c (build_va_arg): Replace first argument type error
with assert.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239975 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Sun, 4 Sep 2016 00:16:14 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239974 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
kyukhin [Sat, 3 Sep 2016 10:57:05 +0000 (10:57 +0000)] 
gcc/
* ubsan.c (ubsan_use_new_style_p): Fix check for empty string.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239971 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c/65467
jakub [Sat, 3 Sep 2016 09:20:03 +0000 (09:20 +0000)] 
PR c/65467
* gcc.dg/gomp/_Atomic-4.c: Require vect_simd_clones effective target.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239970 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Sat, 3 Sep 2016 00:16:13 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239969 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/testsuite/
kyukhin [Fri, 2 Sep 2016 20:04:14 +0000 (20:04 +0000)] 
gcc/testsuite/
  * gcc.target/i386/avx512f-klogic-2.c: Fix operand calculation order.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239966 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAdd -fdiagnostics-generate-patch
dmalcolm [Fri, 2 Sep 2016 19:41:17 +0000 (19:41 +0000)] 
Add -fdiagnostics-generate-patch

gcc/ChangeLog:
* common.opt (fdiagnostics-generate-patch): New option.
* diagnostic.c: Include "edit-context.h".
(diagnostic_initialize): Initialize context->edit_context_ptr.
(diagnostic_finish): Delete context->edit_context_ptr.
(diagnostic_report_diagnostic): Add fix-it hints from the
diagnostic to context->edit_context_ptr, if any.
* diagnostic.h (class edit_context): Add forward decl.
(struct diagnostic_context): Add field "edit_context_ptr".
* doc/invoke.texi (Diagnostic Message Formatting Options): Add
-fdiagnostics-generate-patch.
(-fdiagnostics-generate-patch): New item.
* toplev.c: Include "edit-context.h".
(process_options): Set global_dc->edit_context_ptr to a new
edit_context if the options need one.
(toplev::main): Handle -fdiagnostics-generate-patch by using
global_dc->edit_context_ptr.

gcc/testsuite/ChangeLog:
* gcc.dg/plugin/diagnostic-test-show-locus-generate-patch.c: New
test case.
* gcc.dg/plugin/plugin.exp (plugin_test_list): Add
diagnostic-test-show-locus-generate-patch.c to the sources
for diagnostic_plugin_test_show_locus.c.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239965 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c/65467
jakub [Fri, 2 Sep 2016 18:38:07 +0000 (18:38 +0000)] 
PR c/65467
* gimplify.c (gimplify_adjust_omp_clauses_1): Diagnose implicit
map and firstprivate clauses on target construct for _Atomic
qualified decls.
(gimplify_adjust_omp_clauses): Diagnose explicit firstprivate clauses
on target construct for _Atomic qualified decls.
* omp-low.c (use_pointer_for_field): Return true for _Atomic qualified
decls.
* omp-simd-clone.c (simd_clone_clauses_extract): Warn and give up for
_Atomic qualified arguments not mentioned in uniform clause.
c/
* c-parser.c (c_parser_declspecs): Don't sorry about _Atomic if
flag_openmp.
(c_parser_omp_variable_list): Use convert_lvalue_to_rvalue
instead of mark_exp_read on low_bound/length expression.
(c_parser_omp_clause_num_gangs, c_parser_omp_clause_num_threads,
c_parser_omp_clause_num_tasks, c_parser_omp_clause_grainsize,
c_parser_omp_clause_priority, c_parser_omp_clause_hint,
c_parser_omp_clause_num_workers, c_parser_oacc_shape_clause,
c_parser_oacc_clause_tile, c_parser_omp_clause_schedule,
c_parser_omp_clause_vector_length, c_parser_omp_clause_num_teams,
c_parser_omp_clause_thread_limit, c_parser_omp_clause_aligned,
c_parser_omp_clause_linear, c_parser_omp_clause_safelen,
c_parser_omp_clause_simdlen, c_parser_omp_clause_device,
c_parser_omp_clause_dist_schedule): Use convert_lvalue_to_rvalue
instead of mark_expr_read.
(c_parser_omp_declare_reduction): Reject _Atomic qualified types.
* c-objc-common.h (LANG_HOOKS_OMP_CLAUSE_COPY_CTOR,
LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP): Redefine.
* c-tree.h (c_omp_clause_copy_ctor): New prototype.
* c-typeck.c (handle_omp_array_sections_1): Diagnose _Atomic qualified
array section bases outside of depend clause, for depend clause
use convert_lvalue_to_rvalue on the base.
(c_finish_omp_clauses): Reject _Atomic qualified vars in reduction,
linear, aligned, map, to and from clauses.
(c_omp_clause_copy_ctor): New function.
c-family/
* c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
(c_finish_omp_for): Reject _Atomic qualified iterators.
testsuite/
* gcc.dg/gomp/_Atomic-1.c: New test.
* gcc.dg/gomp/_Atomic-2.c: New test.
* gcc.dg/gomp/_Atomic-3.c: New test.
* gcc.dg/gomp/_Atomic-4.c: New test.
* gcc.dg/gomp/_Atomic-5.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239964 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoIntroduce class edit_context
dmalcolm [Fri, 2 Sep 2016 18:00:57 +0000 (18:00 +0000)] 
Introduce class edit_context

gcc/ChangeLog:
* Makefile.in (OBJS-libcommon): Add edit-context.o.
* diagnostic-color.c (color_dict): Add "diff-filename",
"diff-hunk", "diff-delete", and "diff-insert".
(parse_gcc_colors): Update default value of GCC_COLORS in comment
to reflect above changes.
* doc/invoke.texi (-fdiagnostics-color): Update description of
default GCC_COLORS, and of the supported capabilities.
* edit-context.c: New file.
* edit-context.h: New file.
* input.c (struct fcache): Add field "missing_trailing_newline".
(diagnostics_file_cache_forcibly_evict_file): Initialize it to
true.
(add_file_to_cache_tab): Likewise.
(fcache::fcache): Likewise.
(get_next_line): Update c->missing_trailing_newline.
(location_missing_trailing_newline): New function.
* input.h (location_missing_trailing_newline): New decl.
* selftest-run-tests.c (selftest::run_tests): Call
edit_context_c_tests.
* selftest.h (edit_context_c_tests): New decl.

libcpp/ChangeLog:
* include/line-map.h (rich_location::seen_impossible_fixit_p): New
accessor.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239963 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR tree-optimization/77444
jakub [Fri, 2 Sep 2016 17:12:27 +0000 (17:12 +0000)] 
PR tree-optimization/77444
* tree-ssa-loop-ivopts.c (cand_value_at): For pointers use sizetype
as steptype, remove redundant initialization.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239962 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR sanitizer/77396
jakub [Fri, 2 Sep 2016 17:11:42 +0000 (17:11 +0000)] 
PR sanitizer/77396
* sanopt.c: Include gimple-ssa.h, tree-phinodes.h and ssa-iterators.h.
(sanopt_optimize_walker): Optimize away
__asan_before_dynamic_init (...) followed by
__asan_after_dynamic_init () without intervening memory loads/stores.
* ipa-pure-const.c (special_builtin_state): Handle
BUILT_IN_ASAN_BEFORE_DYNAMIC_INIT and
BUILT_IN_ASAN_AFTER_DYNAMIC_INIT.

* decl2.c (do_static_initialization_or_destruction): Only
call asan_dynamic_init_call if INITP is true.

* g++.dg/asan/pr77396.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239961 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-09-02 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
prathamesh3492 [Fri, 2 Sep 2016 17:00:38 +0000 (17:00 +0000)] 
2016-09-02  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

* cfg.c (free_original_copy_tables): Replace second assignment of
bb_copy = NULL by bb_original = NULL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239960 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR other/77421
jakub [Fri, 2 Sep 2016 16:18:35 +0000 (16:18 +0000)] 
PR other/77421
* config/i386/i386.c (ix86_expanded_args_builtin): Remove redundant
assignment added in r216794.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239959 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoImprovements to typed_splay_tree
dmalcolm [Fri, 2 Sep 2016 15:22:21 +0000 (15:22 +0000)] 
Improvements to typed_splay_tree

This patch adds foreach, max and min methods to
class typed_splay_tree, along with the start of a selftest
suite.

gcc/ChangeLog:
* Makefile.in (OBJS): Add typed-splay-tree.o.
* selftest-run-tests.c (selftest::run_tests): Call
typed_splay_tree_c_tests.
* selftest.h (typed_splay_tree_c_tests): New decl.
* typed-splay-tree.c: New file.
* typed-splay-tree.h (typed_splay_tree::foreach_fn): New typedef.
(typed_splay_tree::max): New method.
(typed_splay_tree::min): New method.
(typed_splay_tree::foreach): New method.
(typed_splay_tree::closure): New struct.
(typed_splay_tree::inner_foreach_fn): New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239958 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoUse setrlimit for testing libstdc++ in cross toolchains
mkuvyrkov [Fri, 2 Sep 2016 13:42:55 +0000 (13:42 +0000)] 
Use setrlimit for testing libstdc++ in cross toolchains

* acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
setrlimit on both native and cross targets.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239955 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-09-02 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
prathamesh3492 [Fri, 2 Sep 2016 09:22:07 +0000 (09:22 +0000)] 
2016-09-02  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

* ipa-cp.c (ipcp_store_bits_results): Change option name from
-fipa-cp-bit to -fipa-bit-cp.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239954 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPR tree-optimization/71831 - __builtin_object_size poor results with no
msebor [Fri, 2 Sep 2016 02:14:50 +0000 (02:14 +0000)] 
PR tree-optimization/71831 - __builtin_object_size poor results with no
optimization

gcc/testsuite/ChangeLog:

PR tree-optimization/71831
* gcc.dg/builtin-object-size-16.c: New test.
* gcc.dg/builtin-object-size-17.c: New test.

gcc/ChangeLog:

PR tree-optimization/71831
* tree-object-size.h: Return bool instead of the size and add
argument for the size.
* tree-object-size.c (compute_object_offset): Update signature.
(addr_object_size): Same.
(compute_builtin_object_size): Return bool instead of the size
and add argument for the size.  Handle POINTER_PLUS_EXPR when
optimization is disabled.
(expr_object_size): Adjust.
(plus_stmt_object_size): Adjust.
(pass_object_sizes::execute): Adjust.
* builtins.c (fold_builtin_object_size): Adjust.
* doc/extend.texi (Object Size Checking): Update.
* ubsan.c (instrument_object_size): Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239953 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Fri, 2 Sep 2016 00:16:14 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239952 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/c-family/ChangeLog:
msebor [Thu, 1 Sep 2016 22:47:49 +0000 (22:47 +0000)] 
gcc/c-family/ChangeLog:

* c-ada-spec.c (dump_ada_function_declaration): Increase buffer
size to guarantee it fits the output of the formatted function
regardless of its arguments.

gcc/cp/ChangeLog:

* mangle.c: Increase buffer size to guarantee it fits the output
of the formatted function regardless of its arguments.

gcc/go/ChangeLog:

* gofrontend/expressions.cc: Increase buffer size to guarantee
it fits the output of the formatted function regardless of its
arguments.

gcc/java/ChangeLog:

* decl.c (give_name_to_locals): Increase buffer size to guarantee
it fits the output of the formatted function regardless of its
arguments.
* mangle_name.c (append_unicode_mangled_name): Same.

gcc/ChangeLog:

* genmatch.c (parser::parse_expr): Increase buffer size to guarantee
it fits the output of the formatted function regardless of its
arguments.
* gcc/genmodes.c (parser::parse_expr): Same.
* gimplify.c (gimplify_asm_expr): Same.
* passes.c (pass_manager::register_one_dump_file): Same.
* print-tree.c (print_node): Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239949 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agors6000: Rename 110 -> VSCR_REGNO
segher [Thu, 1 Sep 2016 22:28:29 +0000 (22:28 +0000)] 
rs6000: Rename 110 -> VSCR_REGNO

* config/rs6000/altivec.md: Use VSCR_REGNO instead of 110 throughout.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239948 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agors6000: Rename 109 -> VRSAVE_REGNO
segher [Thu, 1 Sep 2016 22:27:20 +0000 (22:27 +0000)] 
rs6000: Rename 109 -> VRSAVE_REGNO

* config/rs6000/altivec.md: Use VRSAVE_REGNO instead of 109 throughout.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239947 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agors6000: Rename 74 -> CR6_REGNO
segher [Thu, 1 Sep 2016 22:26:05 +0000 (22:26 +0000)] 
rs6000: Rename 74 -> CR6_REGNO

* config/rs6000/altivec.md: Use CR6_REGNO instead of 74 throughout.
* config/rs6000/vector.md: Ditto.
* config/rs6000/vsx.md: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239946 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-09-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Thu, 1 Sep 2016 21:17:42 +0000 (21:17 +0000)] 
2016-09-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/77393
* gfortran.dg/fmt_f0_2.f90: Update tests for available kinds.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239945 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc.dg/torture/float128-builtin.c, gcc.dg/torture/float128-floath.c,
uros [Thu, 1 Sep 2016 16:04:17 +0000 (16:04 +0000)] 
* gcc.dg/torture/float128-builtin.c, gcc.dg/torture/float128-floath.c,
gcc.dg/torture/float128-ieee-nan.c, gcc.dg/torture/float128-tg-2.c,
gcc.dg/torture/float128-tg.c, gcc.dg/torture/float128x-builtin.c,
gcc.dg/torture/float128x-floath.c, gcc.dg/torture/float128x-nan.c,
gcc.dg/torture/float128x-tg-2.c, gcc.dg/torture/float128x-tg.c,
gcc.dg/torture/float16-builtin.c, gcc.dg/torture/float16-floath.c,
gcc.dg/torture/float16-nan.c, gcc.dg/torture/float16-tg-2.c,
gcc.dg/torture/float16-tg.c, gcc.dg/torture/float32-builtin.c,
gcc.dg/torture/float32-floath.c, gcc.dg/torture/float32-nan.c,
gcc.dg/torture/float32-tg-2.c, gcc.dg/torture/float32-tg.c,
gcc.dg/torture/float32x-builtin.c, gcc.dg/torture/float32x-floath.c,
gcc.dg/torture/float32x-nan.c, gcc.dg/torture/float32x-tg-2.c,
gcc.dg/torture/float32x-tg.c, gcc.dg/torture/float64-builtin.c,
gcc.dg/torture/float64-floath.c, gcc.dg/torture/float64-nan.c,
gcc.dg/torture/float64-tg-2.c, gcc.dg/torture/float64-tg.c,
gcc.dg/torture/float64x-builtin.c, gcc.dg/torture/float64x-floath.c,
gcc.dg/torture/float64x-nan.c, gcc.dg/torture/float64x-tg-2.c,
gcc.dg/torture/float64x-tg.c: Use dg-add-options ieee.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239944 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * ipa-inline-analysis.c (param_change_prob): Get to the base object
ebotcazou [Thu, 1 Sep 2016 15:56:13 +0000 (15:56 +0000)] 
* ipa-inline-analysis.c (param_change_prob): Get to the base object
first in all cases.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239943 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agors6000: Use LR_REGNO directly in the save/restore patterns
segher [Thu, 1 Sep 2016 15:07:54 +0000 (15:07 +0000)] 
rs6000: Use LR_REGNO directly in the save/restore patterns

Various patterns use "register_operand" "l" (or "=l") although those
patterns are only created refering to LR_REGNO directly.  This patch
changes those patterns to use the hard regs as well.

* config/rs6000/rs6000.md (*restore_gpregs_<mode>_r11,
*restore_gpregs_<mode>_r12, *restore_gpregs_<mode>_r1,
*return_and_restore_gpregs_<mode>_r11,
*return_and_restore_gpregs_<mode>_r12,
*return_and_restore_gpregs_<mode>_r1,
*return_and_restore_fpregs_<mode>_r11,
*return_and_restore_fpregs_<mode>_r12,
*return_and_restore_fpregs_<mode>_r1): Use the hard register LR_REGNO
directly instead of via the "l" constraint.  Renumber operands.
Fix whitespace.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239942 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agors6000: Use LR_REGNO instead of constant 65
segher [Thu, 1 Sep 2016 15:04:11 +0000 (15:04 +0000)] 
rs6000: Use LR_REGNO instead of constant 65

Many places still use 65 instead of the symbolic constant LR_REGNO.  This
fixes them all (I looked for the string "65" only, in config/rs6000/ only,
I didn't read all code :-) )

I left it in *restore_world because Iain will remove it there soon.

* config/rs6000/altivec.md (*save_world, *save_vregs_<mode>_r11,
save_vregs_<mode>_r12, *restore_vregs_<mode>_r11,
*restore_vregs_<mode>_r12): Use LR_REGNO instead of 65.
* config/rs6000/darwin.md (load_macho_picbase, load_macho_picbase_si,
load_macho_picbase_di, *call_indirect_nonlocal_darwin64,
*call_nonlocal_darwin64, *call_value_indirect_nonlocal_darwin64,
*call_value_nonlocal_darwin64, reload_macho_picbase,
reload_macho_picbase_si, reload_macho_picbase_di): Ditto.
* config/rs6000/rs6000.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Ditto.
* config/rs6000/rs6000.md (*save_gpregs_<mode>_r11,
*save_gpregs_<mode>_r12, *save_gpregs_<mode>_r1,
*save_fpregs_<mode>_r11, *save_fpregs_<mode>_r12,
*save_fpregs_<mode>_r1): Ditto.
* config/rs6000/spe.md (*save_gpregs_spe, *restore_gpregs_spe,
*return_and_restore_gpregs_spe): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239941 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agors6000: Fix for AIX, for r239866
segher [Thu, 1 Sep 2016 15:01:02 +0000 (15:01 +0000)] 
rs6000: Fix for AIX, for r239866

This should fix r239866 for AIX.  I missed two patterns that refer to LR
as "register_operand" "l" instead of as reg:P LR_REGNO.

* config/rs6000/rs6000.md
(define_insn "*return_and_restore_fpregs_aix_<mode>_r11"): Delete
the use of the link register.
(define_insn "*return_and_restore_fpregs_aix_<mode>_r1"): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239940 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c/7652
mpolacek [Thu, 1 Sep 2016 14:59:50 +0000 (14:59 +0000)] 
PR c/7652
gcc/c-family/
* c-common.c (resolve_overloaded_builtin): Fix formatting.  Add
FALLTHRU comments.
gcc/c/
* c-typeck.c (composite_type): Add FALLTHRU comment.
gcc/gcc/cp/
* error.c (dump_type): Fix falls through comment.
(dump_decl): Likewise.
(dump_expr): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239939 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-09-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Thu, 1 Sep 2016 14:43:55 +0000 (14:43 +0000)] 
2016-09-01  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
    Michael Meissner <meissner@linux.vnet.ibm.com>

PR target/72827
* config/rs6000/rs6000.c (rs6000_legitimize_address): Avoid
reg+reg addressing for TImode.
(rs6000_legitimate_address_p): Only allow register indirect
addressing for TImode, even without TARGET_QUAD_MEMORY.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239938 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-09-01 Richard Biener <rguenther@suse.de>
rguenth [Thu, 1 Sep 2016 13:38:25 +0000 (13:38 +0000)] 
2016-09-01  Richard Biener  <rguenther@suse.de>

PR middle-end/77436
* tree-chrec.c (tree_fold_binomial): Use widest_int, properly
check whether the result fits the desired result type.

* gcc.dg/torture/pr77436.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239937 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/nvptx/nvptx.md (cbranch<mode>4): Op 2 can be const.
nathan [Thu, 1 Sep 2016 12:07:16 +0000 (12:07 +0000)] 
* config/nvptx/nvptx.md (cbranch<mode>4): Op 2 can be const.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239934 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoThis patch adds legitimize_address_displacement hook so that stack accesses
wilco [Thu, 1 Sep 2016 11:34:49 +0000 (11:34 +0000)] 
This patch adds legitimize_address_displacement hook so that stack accesses
with large offsets are split into a more efficient sequence.  Unaligned and
TI/TFmode use a 256-byte range, byte and halfword accesses use a 4KB range,
wider accesses use a 16KB range to maximise the available addressing range
and increase opportunities to share the base address.

int f(int x)
{
  int arr[8192];
  arr[4096] = 0;
  arr[6000] = 0;
  arr[7000] = 0;
  arr[8191] = 0;
  return arr[x];
}

Now generates:

  sub   sp, sp, #32768
  add   x1, sp, 16384
  str   wzr, [x1]
  str   wzr, [x1, 7616]
  str   wzr, [x1, 11616]
  str   wzr, [x1, 16380]
  ldr   w0, [sp, w0, sxtw 2]
  add   sp, sp, 32768
  ret

    gcc/
* config/aarch64/aarch64.c (aarch64_legitimize_address_displacement):
New function.
(TARGET_LEGITIMIZE_ADDRESS_DISPLACEMENT): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239923 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix more bogus testsuite failures for avr.
saaadhu [Thu, 1 Sep 2016 11:02:55 +0000 (11:02 +0000)] 
Fix more bogus testsuite failures for avr.

gcc/testsuite/

2016-09-01  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

        * gcc.dg/pr64252.c: Require int32plus.
        * gcc.dg/pr66299-1.c: Likewise.
        * gcc.dg/pr66299-2.c: Likewise.
        * gcc.dg/torture/20131115-1.c: Skip for avr.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239921 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64] Add ANDS pattern for CMP+ZERO_EXTEND
ktkachov [Thu, 1 Sep 2016 09:03:52 +0000 (09:03 +0000)] 
[AArch64] Add ANDS pattern for CMP+ZERO_EXTEND

* config/aarch64/aarch64.md (*ands<mode>_compare0): New pattern.
* config/aarch64/aarch64.c (aarch64_select_cc_mode): Return CC_NZmode
for comparisons of integer ZERO_EXTEND against zero.

* gcc.target/aarch64/ands_3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239919 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/i386/i386.c (ix86_option_override_internal): Also disable the
ebotcazou [Thu, 1 Sep 2016 07:55:00 +0000 (07:55 +0000)] 
* config/i386/i386.c (ix86_option_override_internal): Also disable the
STV pass if -mstackrealign is enabled.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239916 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/57728 - adjust testcase
jason [Thu, 1 Sep 2016 01:55:47 +0000 (01:55 +0000)] 
PR c++/57728 - adjust testcase

* g++.dg/cpp0x/explicit12.C: Add -save-temps.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239913 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoC: Fix missing spaces in 'struct' fix-it hints
dmalcolm [Thu, 1 Sep 2016 00:50:54 +0000 (00:50 +0000)] 
C: Fix missing spaces in 'struct' fix-it hints

In r237714 I added fix-it hints to the C frontend for missing "struct"
keywords e.g.:

spellcheck-typenames.c:69:1: error: unknown type name â€˜foo_t’; use
‘struct’ keyword to refer to the type
 foo_t *foo_ptr;
 ^~~~~
 struct

However when using the (not yet in trunk) option
 -fdiagnostics-generate-patch,
the generated patch is nonsensical:

  -foo_t *foo_ptr;
  +structfoo_t *foo_ptr;

Fix the fix-its by adding a trailing space to each one, giving:

  -foo_t *foo_ptr;
  +struct foo_t *foo_ptr;

gcc/c/ChangeLog:
* c-parser.c (c_parser_declaration_or_fndef): Add trailing space
to the insertion fixits for "struct", "union", and "enum".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239912 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Thu, 1 Sep 2016 00:16:16 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239911 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix detection of AVX512IFMA in host_detect_local_cpu
iverbin [Wed, 31 Aug 2016 19:49:35 +0000 (19:49 +0000)] 
Fix detection of AVX512IFMA in host_detect_local_cpu

gcc/
* config/i386/driver-i386.c (host_detect_local_cpu): Fix detection of
AVX512IFMA.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239908 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agodiagnostic-show-locus.c: handle fixits on lines outside the regular ranges
dmalcolm [Wed, 31 Aug 2016 18:54:55 +0000 (18:54 +0000)] 
diagnostic-show-locus.c: handle fixits on lines outside the regular ranges

The diagnostic_show_locus implementation determines the set
of line spans that need printing based on the ranges within the
rich_location (in layout::calculate_line_spans).

Currently this doesn't take into account fix-it hints, and hence
we fail to print fix-it hints that are on lines outside of
those ranges.

This patch updates the implementation to take fix-it hints into
account when calculating the pertinent line spans, so that such fix-it
hints do get printed.  It also adds some validation, to ensure that
we don't attempt to print fix-its hints affecting a different source
file.

gcc/ChangeLog:
* diagnostic-show-locus.c (class layout): Add field m_fixit_hints.
(layout_range::intersects_line_p): New method.
(test_range_contains_point_for_single_point): Rename to...
(test_layout_range_for_single_point): ...this, and add testing
for layout_range::intersects_line_p.
(test_range_contains_point_for_single_line): Rename to...
(test_layout_range_for_single_line): ...this,  and add testing
for layout_range::intersects_line_p.
(test_range_contains_point_for_multiple_lines): Rename to...
(test_layout_range_for_multiple_lines): ...this,  and add testing
for layout_range::intersects_line_p.
(layout::layout): Populate m_fixit_hints.
(layout::get_expanded_location): Handle the case of a line-span
for a fix-it hint.
(layout::validate_fixit_hint_p): New method.
(get_line_span_for_fixit_hint): New function.
(layout::calculate_line_spans): Add spans for fixit-hints.
(layout::should_print_annotation_line_p): New method.
(layout::print_any_fixits): Drop param "richloc", instead using
validated fixits in m_fixit_hints.  Add "const" to hint pointers.
(diagnostic_show_locus): Avoid printing blank annotation lines.
(selftest::test_diagnostic_context::test_diagnostic_context):
Initialize show_column and start_span.
(selftest::test_diagnostic_context::start_span_cb): New static
function.
(selftest::test_diagnostic_show_locus_fixit_lines): New function.
(selftest::diagnostic_show_locus_c_tests): Update for function
renamings.  Call test_diagnostic_show_locus_fixit_lines.

libcpp/ChangeLog:
* include/line-map.h (class fixit_remove): Remove stray decl.
(fixit_hint::affects_line_p): Make const.
(fixit_insert::affects_line_p): Likewise.
(fixit_replace::affects_line_p): Likewise.
* line-map.c (fixit_insert::affects_line_p): Likewise.
(fixit_replace::affects_line_p): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239906 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR fortran/77352
jakub [Wed, 31 Aug 2016 18:42:55 +0000 (18:42 +0000)] 
PR fortran/77352
* trans-openmp.c (gfc_trans_omp_parallel_workshare): Always add a
BIND_EXPR with BLOCK around what gfc_trans_omp_workshare returns.

* gfortran.dg/gomp/pr77352.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239904 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR fortran/77374
jakub [Wed, 31 Aug 2016 18:42:08 +0000 (18:42 +0000)] 
PR fortran/77374
* parse.c (parse_omp_oacc_atomic): Copy over cp->ext.omp_atomic
to cp->block->ext.omp_atomic.
* resolve.c (gfc_resolve_blocks): Assert block with one or two
EXEC_ASSIGNs for EXEC_*_ATOMIC.
* openmp.c (resolve_omp_atomic): Don't assert one or two
EXEC_ASSIGNs, instead return quietly for EXEC_NOPs and otherwise
error unexpected statements.

* gfortran.dg/gomp/pr77374.f08: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239903 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agomatch.pd: Revert a * (1 << b) relaxation.
glisse [Wed, 31 Aug 2016 18:22:58 +0000 (18:22 +0000)] 
match.pd: Revert a * (1 << b) relaxation.

2016-08-31  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/73714
gcc/
* match.pd (a * (1 << b)): Revert change from 2016-05-23.
gcc/testsuite/
* gcc.dg/tree-ssa/pr73714.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239902 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-08-31 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Wed, 31 Aug 2016 17:54:32 +0000 (17:54 +0000)] 
2016-08-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/77393
* gfortran.dg/fmt_f0_2.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239901 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-08-31 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Wed, 31 Aug 2016 17:45:26 +0000 (17:45 +0000)] 
2016-08-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/77393
* io/write.c (kind_from_size): New function to calculate required buffer
size based on kind type. (select_buffer, select_string): Use new
function. (write_float_0, write_real, write_real_g0, write_complex):
Adjust calls to pass parameters needed by new function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239900 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoConstrain std::shared_ptr assignment and resetting
redi [Wed, 31 Aug 2016 16:57:20 +0000 (16:57 +0000)] 
Constrain std::shared_ptr assignment and resetting

* include/bits/shared_ptr.h (_Assignable): New alias template.
(shared_ptr::operator=(const shared_ptr<_Tp1>&))
(shared_ptr::operator=(shared_ptr<_Tp1>&&))
(shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
_Assignable.
* include/bits/shared_ptr_base.h (_Assignable): New alias template.
(__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
(__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
(__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
_Assignable.
(__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
(__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
_Convertible.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
match on any line.
* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
* testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
expected errors. Remove unnecessary code.
* testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239898 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoMove comparison object in map/set move assignment
redi [Wed, 31 Aug 2016 16:57:14 +0000 (16:57 +0000)] 
Move comparison object in map/set move assignment

* include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
comparison object.
* testsuite/23_containers/set/move_comparison.cc: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239897 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAdd test accidentally not added in revision r239121
redi [Wed, 31 Aug 2016 16:57:09 +0000 (16:57 +0000)] 
Add test accidentally not added in revision r239121

* testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239896 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago runtime: make gsignal stack at least SIGSTKSZ bytes
ian [Wed, 31 Aug 2016 13:59:03 +0000 (13:59 +0000)] 
runtime: make gsignal stack at least SIGSTKSZ bytes

    The default stack size for the gsignal goroutine, 32K, is not enough on
    ia64.  Make sure that the stack size is at least SIGSTKSZ.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239894 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoselftest.c: avoid explicit "selftest::" qualifiers
dmalcolm [Wed, 31 Aug 2016 13:22:43 +0000 (13:22 +0000)] 
selftest.c: avoid explicit "selftest::" qualifiers

gcc/ChangeLog:
* selftest.c: Move "namespace selftest {" to top of file,
removing explicit "selftest::" qualifiers throughout.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239892 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[x86] Don't use builtins for unaligned load/store
glisse [Wed, 31 Aug 2016 11:56:37 +0000 (11:56 +0000)] 
[x86] Don't use builtins for unaligned load/store

2016-08-31  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* config/i386/avx512fintrin.h (__m512_u, __m512i_u, __m512d_u):
New types.
(_mm512_loadu_pd, _mm512_storeu_pd, _mm512_loadu_ps,
_mm512_storeu_ps, _mm512_loadu_si512, _mm512_storeu_si512):
Replace builtin with vector extension.
* config/i386/avxintrin.h (__m256_u, __m256i_u, __m256d_u):
New types.
(_mm256_loadu_pd, _mm256_storeu_pd, _mm256_loadu_ps,
_mm256_storeu_ps, _mm256_loadu_si256, _mm256_storeu_si256):
Replace builtin with vector extension.
* config/i386/emmintrin.h (__m128i_u, __m128d_u): New types.
(_mm_loadu_pd, _mm_storeu_pd, _mm_loadu_si128, _mm_storeu_si128):
Replace builtin with vector extension.
* config/i386/xmmintrin.h (__m128_u): New type.
(_mm_loadu_ps, _mm_storeu_ps): Replace builtin with vector extension.
(_mm_load_ps, _mm_store_ps): Simplify.

gcc/testsuite/
* gcc.target/i386/pr59539-2.c: Adapt options.
* gcc.target/i386/avx512f-vmovdqu32-1.c: Relax expected asm.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239889 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/arm/arm.c (thumb1_size_rtx_costs) <SET>: Add missing guard.
ebotcazou [Wed, 31 Aug 2016 10:09:00 +0000 (10:09 +0000)] 
* config/arm/arm.c (thumb1_size_rtx_costs) <SET>: Add missing guard.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239888 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-08-31 Paul Thomas <pault@gcc.gnu.org>
pault [Wed, 31 Aug 2016 07:50:44 +0000 (07:50 +0000)] 
2016-08-31  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/77418
* gfortran.dg/dtio_5.f90: Remove the non-standard deallocation
of the associate entity and replace with a pointer to the
intended item on the stack.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239881 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-08-31 Paul Thomas <pault@gcc.gnu.org>
pault [Wed, 31 Aug 2016 05:36:22 +0000 (05:36 +0000)] 
2016-08-31  Paul Thomas  <pault@gcc.gnu.org>
Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/48298

* decl.c (access_attr_decl): Include case INTERFACE_DTIO as
appropriate.
* gfortran.h : Add INTRINSIC_FORMATTED and
INTRINSIC_UNFORMATTED to gfc_intrinsic_op. Add INTERFACE_DTIO
to interface type. Add new enum 'dtio_codes'. Add bitfield
'has_dtio_procs' to symbol_attr. Add prototypes
'gfc_check_dtio_interfaces' and 'gfc_find_specific_dtio_proc'.
* interface.c (dtio_op): New function.
(gfc_match_generic_spec): Match generic DTIO interfaces.
(gfc_match_interface): Treat DTIO interfaces in the same way as
(gfc_current_interface_head): Add INTERFACE_DTIO appropriately.
(check_dtio_arg_TKR_intent): New function.
(check_dtio_interface1): New function.
(gfc_check_dtio_interfaces): New function.
(gfc_find_specific_dtio_proc): New function.
* io.c : Add FMT_DT to format_token.
(format_lex): Handle DTIO formatting.
* match.c (gfc_op2string): Add DTIO operators.
* resolve.c (derived_inaccessible): Ignore pointer components
to enclosing derived type.
(resolve_transfer): Resolve transfers that involve DTIO.
procedures. Find the specific subroutine for the transfer and
use its existence to over-ride some of the constraints on
derived types. If the transfer is recursive, require that the
subroutine be so qualified.
(dtio_procs_present): New function.
(resolve_fl_namelist): Remove inhibition of polymorphic objects
in namelists if DTIO read and write subroutines exist. Likewise
for derived types.
(resolve_types): Invoke 'gfc_verify_dtio_procedures'.
* symbol.c : Set 'dtio_procs' using 'minit'.
* trans-decl.c (gfc_finish_var_decl): If a derived-type/class
object is associated with DTIO procedures, make it TREE_STATIC.
* trans-expr.c (gfc_get_vptr_from_expr): If the expression
drills down to a PARM_DECL, extract the vptr correctly.
(gfc_conv_derived_to_class): Check 'info' in the test for
'useflags'. If the se expression exists and is a pointer, use
it as the class _data.
* trans-io.c : Add IOCALL_X_DERIVED to iocall and the function
prototype. Likewise for IOCALL_SET_NML_DTIO_VAL.
(set_parameter_tree): Renamed from 'set_parameter_const', now
returns void and has new tree argument. Calls modified to match
new interface.
(transfer_namelist_element): Transfer DTIO procedure pointer
and vpointer using the new function IOCALL_SET_NML_DTIO_VAL.
(get_dtio_proc): New function.
(transfer_expr): Add new argument for the vptr field of class
objects. Add the code to call the specific DTIO proc, convert
derived types to class and call IOCALL_X_DERIVED.
(trans_transfer): Add BT_CLASS to structures for treatment by
the scalarizer. Obtain the vptr for the dynamic type, both for
scalar and array transfer.

2016-08-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
Paul Thomas  <pault@gcc.gnu.org>

PR libgfortran/48298
* gfortran.map : Flag _st_set_nml_dtio_var and
_gfortran_transfer_derived.
* io/format.c (format_lex): Detect DTIO formatting.
(parse_format_list): Parse the DTIO format.
(next_format): Include FMT_DT.
* io/format.h : Likewise. Add structure 'udf' to structure
'fnode' to carry the IOTYPE string and the 'vlist'.
* io/io.h : Add prototypes for the two types of DTIO subroutine
and a typedef for gfc_class. Also, add to 'namelist_type'
fields for the pointer to the DTIO procedure and the vtable.
Add fields to struct st_parameter_dt for pointers to the two
types of DTIO subroutine. Add to gfc_unit DTIO specific fields.
(internal_proto): Add prototype for 'read_user_defined' and
'write_user_defined'.
* io/list_read.c (check_buffers): Use the 'current_unit' field.
(unget_char): Likewise.
(eat_spaces): Likewise.
(list_formatted_read_scalar): For case BT_CLASS, call the DTIO
procedure.
(nml_get_obj_data): Likewise when DTIO procedure is present,.
* io/transfer.c : Export prototypes for 'transfer_derived' and
'transfer_derived_write'.
(unformatted_read): For case BT_CLASS, call the DTIO procedure.
(unformatted_write): Likewise.
(formatted_transfer_scalar_read): Likewise.
(formatted_transfer_scalar_write: Likewise.
(transfer_derived): New function.
(data_transfer_init): Set last_char if no child_dtio.
(finalize_transfer): Return if child_dtio set.
(st_write_done): Add condition for child_dtio not set.
Add extra arguments for st_set_nml_var prototype.
(set_nml_var): New function that contains the contents of the
old version of st_set_nml_var. Also sets the 'dtio_sub' and
'vtable' fields of the 'nml' structure.
(st_set_nml_var): Now just calls set_nml_var with 'dtio_sub'
and 'vtable' NULL.
(st_set_nml_dtio_var): New function that calls set_nml_var.
* io/unit.c (get_external_unit): If the found unit child_dtio
is non zero, don't do any mutex locking/unlocking.  Just
return the unit.
* io/unix.c (tempfile_open): Revert to C style comment.
* io/write.c (list_formatted_write_scalar): Do the DTIO call.
(nml_write_obj): Add BT_CLASS and do the DTIO call.

2016-08-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
Paul Thomas  <pault@gcc.gnu.org>

PR fortran/48298
* gfortran.dg/dtio_1.f90: New test.
* gfortran.dg/dtio_2.f90: New test.
* gfortran.dg/dtio_3.f90: New test.
* gfortran.dg/dtio_4.f90: New test.
* gfortran.dg/dtio_5.f90: New test.
* gfortran.dg/dtio_6.f90: New test.
* gfortran.dg/dtio_7.f90: New test.
* gfortran.dg/dtio_8.f90: New test.
* gfortran.dg/dtio_9.f90: New test.
* gfortran.dg/dtio_10.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239880 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoRemove arbitrary limits from rich_location
dmalcolm [Wed, 31 Aug 2016 00:35:01 +0000 (00:35 +0000)] 
Remove arbitrary limits from rich_location

This patch eliminates the hard-coded limits within rich_location
(up to 3 ranges, up to 2 fixits).  The common case is still
handled by embedding the values inside rich_location - it only
uses dynamic allocation if these limits are exceeded, so
creation of rich_location instances on the stack should still
be fast.  This is implemented via a new container class,
semi_embedded_vec <T, N>.

gcc/ChangeLog:
* diagnostic-show-locus.c (colorizer::begin_state): Support more
than 3 ranges per diagnostic by alternating between color 1 and
color 2.
(layout::layout): Replace use of rich_location::MAX_RANGES
with richloc->get_num_locations ().
(layout::calculate_line_spans): Replace use of
rich_location::MAX_RANGES with m_layout_ranges.length ().
(layout::print_annotation_line): Handle arbitrary numbers of
ranges in caret-printing by defaulting to '^'.
(selftest::test_one_liner_many_fixits): New function.
(test_diagnostic_show_locus_one_liner): Call it.
* diagnostic.c (diagnostic_initialize): Update for renaming
of rich_location::MAX_RANGES to
rich_location::STATICALLY_ALLOCATED_RANGES.
* diagnostic.h (struct diagnostic_context): Likewise.

gcc/testsuite/ChangeLog:
* gcc.dg/plugin/diagnostic-test-show-locus-bw.c
(test_many_nested_locations): New function.
* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
(test_show_locus): Handle "test_many_nested_locations".

libcpp/ChangeLog:
* include/line-map.h (class semi_embedded_vec): New class.
(semi_embedded_vec<T, NUM_EMBEDDED>::semi_embedded_vec): New ctor.
(semi_embedded_vec<T, NUM_EMBEDDED>::~semi_embedded_vec): New
dtor.
(semi_embedded_vec<T, NUM_EMBEDDED>::operator[]): New methods.
(semi_embedded_vec<T, NUM_EMBEDDED>::push): New method.
(semi_embedded_vec<T, NUM_EMBEDDED>::truncate): New method.
(rich_location::get_num_locations): Reimplement in terms of
m_ranges.
(rich_location::get_range): Make non-inline.
(rich_location::get_num_fixit_hints): Reimplement in terms of
m_fixit_hints.
(rich_location::add_fixit): New function.
(rich_location::MAX_RANGES): Rename to...
(rich_location::STATICALLY_ALLOCATED_RANGES): ...this.
(rich_location::MAX_FIXIT_HINTS): Rename to...
(rich_location::STATICALLY_ALLOCATED_RANGES): ...this, and make
private.
(rich_location::m_num_ranges): Eliminate in favor of...
(rich_location::m_ranges): ...this, converting from a fixed-size
array to a semi_embedded_vec.
(rich_location::m_num_fixit_hints): Eliminate in favor of...
(rich_location::m_fixit_hints): ...this, converting from a
fixed-size array to a semi_embedded_vec.
* line-map.c (rich_location::rich_location): Update for above
changes.
(rich_location::~rich_location): Likewise.
(rich_location::get_loc): Likewise.
(rich_location::get_range): New methods.
(rich_location::add_range): Update for above changes.
(rich_location::set_range): Likewise.
(rich_location::add_fixit_insert): Likewise.
(rich_location::add_fixit_replace): Likewise.
(rich_location::get_last_fixit_hint): Likewise.
(rich_location::reject_impossible_fixit): Likewise.
(rich_location::add_fixit): New method.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239879 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Wed, 31 Aug 2016 00:16:14 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239878 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoselftest: split out named_temp_file from temp_source_file
dmalcolm [Wed, 31 Aug 2016 00:07:38 +0000 (00:07 +0000)] 
selftest: split out named_temp_file from temp_source_file

Split out a new base class for temp_source_file, named_temp_file,
moving the deletion to the base class dtor, so that we can write
out temporary files in other ways in selftests.

gcc/ChangeLog:
* selftest.c (selftest::named_temp_file::named_temp_file): New
ctor.
(selftest::temp_source_file::~temp_source_file): Move to...
(selftest::named_temp_file::~named_temp_file): ...here.
(selftest::test_named_temp_file): New function.
(selftest::selftest_c_tests): Call test_named_temp_file.
* selftest.h (class named_temp_file): New class.
(class temp_source_file): Convert to a subclass of named_temp_file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239875 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoC++: add fixit for '>>' template error
dmalcolm [Tue, 30 Aug 2016 21:21:42 +0000 (21:21 +0000)] 
C++: add fixit for '>>' template error

gcc/cp/ChangeLog:
* parser.c (cp_parser_enclosed_template_argument_list): Add fix-it
hint to ">>" within nested template argument list error.

gcc/testsuite/ChangeLog:
* g++.dg/template/double-greater-than-fixit.C: New test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239873 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago runtime: use -fgo-c-header to build C header file
ian [Tue, 30 Aug 2016 21:07:47 +0000 (21:07 +0000)] 
runtime: use -fgo-c-header to build C header file

    Use the new -fgo-c-header option to build a header file for the Go
    runtime code in libgo/go/runtime, and use the new header file in the C
    runtime code in libgo/runtime.  This will ensure that the Go code and C
    code share the same data structures as we convert the runtime from C to
    Go.

    The new file libgo/go/runtime/runtime2.go is copied from the Go 1.7
    release, and then edited to remove unnecessary data structures and
    modify others for use with libgo.

    The new file libgo/go/runtime/mcache.go is an initial version of the
    same files in the Go 1.7 release, and will be replaced by the Go 1.7
    file when we convert to the new memory allocator.

    The new file libgo/go/runtime/type.go describes the gccgo version of the
    reflection data structures, and replaces the Go 1.7 runtime file which
    describes the gc version of those structures.

    Using the new header file means changing a number of struct fields to
    use Go naming conventions (that is, no underscores) and to rename
    constants to have a leading underscore so that they are not exported
    from the Go package.  These names were updated in the C code.

    The C code was also changed to drop the thread-local variable m, as was
    done some time ago in the gc sources.  Now the m field is always
    accessed using g->m, where g is the single remaining thread-local
    variable.  This in turn required some adjustments to set g->m correctly
    in all cases.

    Also pass the new -fgo-compiling-runtime option when compiling the
    runtime package, although that option doesn't do anything yet.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239872 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR libstdc++/77395
ville [Tue, 30 Aug 2016 18:46:11 +0000 (18:46 +0000)] 
PR libstdc++/77395
* include/std/type_traits (is_constructible): Forward-declare...
(__is_base_to_derived_ref): ...and use here.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
* testsuite/20_util/is_constructible/77395.cc: New.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/tuple/77395.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239870 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
uros [Tue, 30 Aug 2016 16:59:39 +0000 (16:59 +0000)] 
* testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
directive above dg-require-namedlocale directive.
* testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
* testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
* testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
* testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
* testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239867 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agors6000: Don't emit a use of LR in returns and sibcalls
segher [Tue, 30 Aug 2016 16:30:01 +0000 (16:30 +0000)] 
rs6000: Don't emit a use of LR in returns and sibcalls

The exit block (to which every return artificially jumps) already has
a use of LR.  The LR use in all returns and sibcalls is an anachronism,
probably made unnecessary by the dataflow merge.  The simple_returns
that shrink-wrapping generates also do not have such a use.  Newer
backends do not do this either it seems.

With this use removed, a normal return is no longer a parallel but just
a return insn, and cfgcleanup then can transform conditional jumps to
those into conditional returns.

This splits the return emission code with restoring_FPRs_inline from
that without it; this is simpler code, fewer lines, and less indentation.

The return_internal_<mode> pattern can now be deleted since nothing uses
it anymore.

* config/rs6000/rs6000.c (rs6000_emit_epilogue): Do not emit
USEs of LR_REGNO in returns and sibcalls.
(rs6000_output_mi_thunk): Similar.
(rs6000_sibcall_aix): Similar.
* config/rs6000/rs6000.md (sibcall, sibcall_value, sibcall_local32,
sibcall_local64, sibcall_value_local32, sibcall_value_local64,
sibcall_nonlocal_sysv<mode>, sibcall_value_nonlocal_sysv<mode>):
Remove the USE of LR_REGNO from the patterns as well.  Delete an
obsolete comment.
(return_internal_<mode>): Delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239866 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PATCH][Aarch64][gcc] Fix vld2/3/4 on big endian systems
jgreenhalgh [Tue, 30 Aug 2016 15:40:19 +0000 (15:40 +0000)] 
[PATCH][Aarch64][gcc] Fix vld2/3/4 on big endian systems

On behalf of Tamar Christina  <tamar.christina@arm.com>

gcc/

* gcc/config/aarch64/aarch64-simd.md
(aarch64_ld2<mode>_dreg_le): New.
(aarch64_ld2<mode>_dreg_be): New.
(aarch64_ld2<mode>_dreg): Removed.
(aarch64_ld3<mode>_dreg_le): New.
(aarch64_ld3<mode>_dreg_be): New.
(aarch64_ld3<mode>_dreg): Removed.
(aarch64_ld4<mode>_dreg_le): New.
(aarch64_ld4<mode>_dreg_be): New.
(aarch64_ld4<mode>_dreg): Removed.
(aarch64_ld<VSTRUCT:nregs><VDC:mode>): Wrapper around _le, _be.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239865 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-08-30 Fritz Reese <fritzoreese@gmail.com>
foreese [Tue, 30 Aug 2016 14:33:00 +0000 (14:33 +0000)] 
2016-08-30  Fritz Reese  <fritzoreese@gmail.com>

* gcc/fortran/gfortran.texi: Fix typo in STRUCTURE documentation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239862 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agorich_location: add convenience overloads for adding fix-it hints
dmalcolm [Tue, 30 Aug 2016 13:54:48 +0000 (13:54 +0000)] 
rich_location: add convenience overloads for adding fix-it hints

Adding a fix-it hint to a diagnostic usually follows one of these
patterns:
(a) an insertion fix-its, with the insertion at the primary caret location
(b) a removals/replacements, affecting the range of the primary location

(other cases are possible, e.g. multiple fix-its, and affecting other
locations, but these are the common ones)

Given these common cases, this patch adds overloads of the rich_location
methods for adding fix-it hints, so that the location information can
be omitted if it matches that of the primary location within the
rich_location.

Similarly when adding "remove" and "replace" fix-it hints to a diagnostic,
it's tedious to have to extract the source_range from a location_t
(aka source_location).  To make this more convenient, this patch
adds overload of the rich_location::add_fixit_remove/replace methods,
accepting a source_location directly.

The patch updates the various in-tree users of fix-it hints to use
the new simpler API where appropriate.  I didn't touch the case where
there are multiple fix-its in one rich_location, as it seems better to
be more explicit about locations for this case (adding a pair of parens
in warn_logical_not_parentheses).

The above makes the gcc_rich_location::add_fixit_misspelled_id overload
taking a const char * rather redundant, so I eliminated it.

gcc/c/ChangeLog:
* c-decl.c (implicit_decl_warning): Use add_fixit_replace
rather than add_fixit_misspelled_id.
(undeclared_variable): Likewise.
* c-parser.c (c_parser_declaration_or_fndef): Likewise.  Remove
now-redundant "here" params from add_fixit_insert method calls.
(c_parser_parameter_declaration): Likewise.
* c-typeck.c (build_component_ref): Remove now-redundant range
param from add_fixit_replace method calls.

gcc/cp/ChangeLog:
* name-lookup.c (suggest_alternatives_for): Use add_fixit_replace
rather than add_fixit_misspelled_id.
* parser.c (cp_parser_diagnose_invalid_type_name): Likewise.

gcc/ChangeLog:
* diagnostic-show-locus.c (test_one_liner_fixit_insert): Remove
redundant location param.
(test_one_liner_fixit_remove): Likewise.
(test_one_liner_fixit_replace): Likewise.
(test_one_liner_fixit_replace_equal_secondary_range): Likewise.
* gcc-rich-location.c
(gcc_rich_location::add_fixit_misspelled_id): Eliminate call to
get_range_from_loc.  Drop overload taking a const char *.
* gcc-rich-location.h
(gcc_rich_location::add_fixit_misspelled_id): Drop overload taking
a const char *.

libcpp/ChangeLog:
* include/line-map.h (rich_location::add_fixit_insert): Add
comments.  Add overload omitting the source_location param.
(rich_location::add_fixit_remove): Add comments.  Add overloads
omitting the range, and accepting a source_location.
(rich_location::add_fixit_replace): Likewise.
* line-map.c (rich_location::add_fixit_insert): Add comments.  Add
overload omitting the source_location param.
(rich_location::add_fixit_remove): Add comments.  Add overloads
omitting the range, and accepting a source_location.
(rich_location::add_fixit_replace): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239861 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoreport supported function classes correctly on *-musl
nsz [Tue, 30 Aug 2016 10:28:06 +0000 (10:28 +0000)] 
report supported function classes correctly on *-musl

gcc/
* config/linux.c (linux_libc_has_function): Return true on musl.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239860 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agodisable ifunc on *-musl by default
nsz [Tue, 30 Aug 2016 10:26:22 +0000 (10:26 +0000)] 
disable ifunc on *-musl by default

gcc/
* config.gcc (*-*-*musl*): Disable gnu-indirect-function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239859 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * postreload-gcse.c (bb_has_well_behaved_predecessors): Tweak criterion
ebotcazou [Tue, 30 Aug 2016 10:10:26 +0000 (10:10 +0000)] 
* postreload-gcse.c (bb_has_well_behaved_predecessors): Tweak criterion
used for abnormal egdes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239858 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-08-30 Richard Biener <rguenther@suse.de>
rguenth [Tue, 30 Aug 2016 09:22:17 +0000 (09:22 +0000)] 
2016-08-30  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69047
* gcc.dg/pr69047.c: Fix byte-order check.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239857 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR tree-optimization/72866
jakub [Tue, 30 Aug 2016 06:54:02 +0000 (06:54 +0000)] 
PR tree-optimization/72866
* tree-vect-patterns.c (search_type_for_mask): Turn into
a small wrapper, move all code to ...
(search_type_for_mask_1): ... this new function.  Add caching
and adjust recursive calls.

* gcc.dg/vect/pr72866.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239856 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR debug/77363
jakub [Tue, 30 Aug 2016 06:46:38 +0000 (06:46 +0000)] 
PR debug/77363
* dwarf2out.c (modified_type_die): Use lookup_type_die (type)
instead of lookup_type_die (type_main_variant (type)) even for array
types.

* g++.dg/debug/dwarf2/pr77363.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239855 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR middle-end/77377
jakub [Tue, 30 Aug 2016 06:45:56 +0000 (06:45 +0000)] 
PR middle-end/77377
* simplify-rtx.c (avoid_constant_pool_reference): For out of bounds
constant pool reference return x instead of c.

* gcc.target/i386/pr77377.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239854 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR debug/77389
jakub [Tue, 30 Aug 2016 06:44:43 +0000 (06:44 +0000)] 
PR debug/77389
* g++.dg/debug/dwarf2/template-params-12f.C: Pass -gno-strict-dwarf
in dg-options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239853 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago compiler: add -fgo-c-header=FILE to create a C header
ian [Tue, 30 Aug 2016 03:27:43 +0000 (03:27 +0000)] 
compiler: add -fgo-c-header=FILE to create a C header

    The new -fgo-c-header=FILE option will write a C header file defining
    all the struct types and numeric const values in package scope.  This
    will be used when building the Go runtime package (libgo/go/runtime) to
    generate a C header file that may be included by the C code in the C
    runtime package (libgo/runtime).

    This will ensure that the Go code and C code are working with the same
    data structures as we convert the runtime from C to Go to upgrade to the
    current GC runtime, notably the concurrent garbage collector.

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

* lang.opt (fgo-c-header, fgo-compiling-runtime): New options.
* go-c.h (struct go_create_gogo_args): Define.
(go_create_gogo): Change declaration to take struct pointer.
* go-lang.c (go_c_header): New static variable.
(go_langhook_init): Update call to go_create_gogo.
* gccgo.texi (Invoking gccgo): Document -fgo-c-header and
-fgo-compiling-runtime.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239852 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoEradicate MQ some more
segher [Tue, 30 Aug 2016 02:46:07 +0000 (02:46 +0000)] 
Eradicate MQ some more

Nothing uses MQ anymore, but it still shows up in all the dump files.
This patch removes it from CALL_REALLY_USED_REGISTERS so that that does
not happen anymore (it is still a fixed register, there should be no
functional change).

* config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): Do not
include MQ.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239851 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Tue, 30 Aug 2016 00:16:19 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239850 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-08-29 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Mon, 29 Aug 2016 23:19:25 +0000 (23:19 +0000)] 
2016-08-29  Steven G. Kargl  <kargl@gcc.gnu.org>

* gfortran.dg/pr77372.f90: Moved to ...
* gfortran.dg/ieee/pr77372.f90: here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239847 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoinput.c: fix the comment for test_make_location_nonpure_range_endpoints
dmalcolm [Mon, 29 Aug 2016 20:52:10 +0000 (20:52 +0000)] 
input.c: fix the comment for test_make_location_nonpure_range_endpoints

gcc/ChangeLog:
* input.c
(selftest::test_make_location_nonpure_range_endpoints): Fix
header comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239844 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAllow the use of ad-hoc locations for fix-it hints
dmalcolm [Mon, 29 Aug 2016 20:42:57 +0000 (20:42 +0000)] 
Allow the use of ad-hoc locations for fix-it hints

Currently the fix-it validator rejects ad-hoc locations.
Fix this by calling get_pure_location on the input locations to
add_fixit_insert/replace.  Doing so requires moving get_pure_location
from gcc to libcpp.

gcc/ChangeLog:
* diagnostic-show-locus.c
(selftest::test_one_liner_fixit_validation_adhoc_locations): New
function.
(selftest::test_diagnostic_show_locus_one_liner): Call it.
* input.c (get_pure_location): Move to libcpp/line-map.c.
* input.h (get_pure_location): Convert decl to an inline function
calling implementation in libcpp.

libcpp/ChangeLog:
* include/line-map.h (get_pure_location): New decl.
* line-map.c (get_pure_location): Move here, from gcc/input.c, adding
a line_maps * param.
(rich_location::add_fixit_insert): Call get_pure_location on "where".
(rich_location::add_fixit_replace): Call get_pure_location on the
end-points.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239843 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-08-29 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Mon, 29 Aug 2016 19:38:07 +0000 (19:38 +0000)] 
2016-08-29  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/vec-init-4.c: New runtime tests for various
vector short/char initializations.
* gcc.target/powerpc/vec-init-5.c: Likewise.
* gcc.target/powerpc/vec-init-6.c: New compile time test for
vector initialization optimizations.
* gcc.target/powerpc/vec-init-7.c: Likewise.
* gcc.target/powerpc/vec-init-8.c: New runtime tests for various
vector float/double initializations.
* gcc.target/powerpc/vec-init-9.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239837 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * configure.ac (nvptx-*): Hardwire newlib.
nathan [Mon, 29 Aug 2016 19:09:57 +0000 (19:09 +0000)] 
* configure.ac (nvptx-*): Hardwire newlib.
* configure: Rebuilt.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239836 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR target/77403
uros [Mon, 29 Aug 2016 18:58:10 +0000 (18:58 +0000)] 
PR target/77403
* config/i386/sse.md (vec_set_lo_<mode><mask_name>): Fix assembler
template for intel asm dialect.
(vec_set_hi_<mode><mask_name>): Ditto.

testsuite/ChangeLog:

PR target/77403
* gcc.target/i386/pr77403.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239834 138bc75d-0d04-0410-961f-82ee72b054a4