Jakub Jelinek [Fri, 16 Sep 2016 07:10:08 +0000 (09:10 +0200)]
re PR target/77526 (ICE: in verify_dominators, at dominance.c:1039 with -mstringop-strategy=byte_loop)
PR target/77526
* combine.c (rest_of_handle_combine): If any edges have been purged,
free dominators if available.
* gcc.target/i386/pr77526.c: New test.
From-SVN: r240174
Jakub Jelinek [Fri, 16 Sep 2016 07:09:27 +0000 (09:09 +0200)]
re PR middle-end/77594 (double computation for __builtin_sub_overflow (0, ...))
PR middle-end/77594
* internal-fn.c (expand_arith_overflow) <case MINUS_EXPR>: Don't fall
through into expand_addsub_overflow after expand_neg_overflow.
* gcc.target/i386/pr77594.c: New test.
Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r240173
GCC Administrator [Fri, 16 Sep 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r240172
David Malcolm [Thu, 15 Sep 2016 23:57:01 +0000 (23:57 +0000)]
fix-it hints can't contain newlines
I hope to implement newline support within fix-it hints at some point,
but currently it's not supported, and leads to misleading diagnostic
output, so for now, fail gracefully.
gcc/ChangeLog:
* diagnostic-show-locus.c
(selftest::test_fixit_insert_containing_newline): New function.
(selftest::test_fixit_replace_containing_newline): New function.
(selftest::diagnostic_show_locus_c_tests): Call the above.
libcpp/ChangeLog:
* include/line-map.h (class rich_location): Note that newlines
aren't supported in fix-it text.
* line-map.c (rich_location::add_fixit_insert_before): Reject
attempts to add fix-its containing newlines.
(rich_location::add_fixit_replace): Likewise.
From-SVN: r240169
Louis Krupp [Thu, 15 Sep 2016 23:54:40 +0000 (23:54 +0000)]
re PR fortran/69963 (ICE out of memory on displaced implicit character)
2016-09-15 Louis Krupp <louis.krupp@zoho.com>
PR fortran/69963
* parse.c (reject_statement): Clear charlen pointers in implicit
character typespecs before those charlen structures are freed.
2016-09-15 Louis Krupp <louis.krupp@zoho.com>
PR fortran/69963
* gfortran.dg/misplaced_implicit_character.f90: New test.
From-SVN: r240168
Jason Merrill [Thu, 15 Sep 2016 19:48:18 +0000 (15:48 -0400)]
c-common.c (check_cxx_fundamental_alignment_constraints): Check DECL_EXTERNAL.
* c-common.c (check_cxx_fundamental_alignment_constraints): Check
DECL_EXTERNAL.
From-SVN: r240167
Bin Cheng [Thu, 15 Sep 2016 16:31:35 +0000 (16:31 +0000)]
re PR tree-optimization/77503 (ICE in vect_transform_stmt compiling postgresql)
PR tree-optimization/77503
* tree-vect-loop.c (vectorizable_reduction): Record reduction
code for CONST_COND_REDUCTION at analysis stage and use it at
transform stage.
* tree-vectorizer.h (struct _stmt_vec_info): New field.
(STMT_VINFO_VEC_CONST_COND_REDUC_CODE): New macro.
* tree-vect-stmts.c (new_stmt_vec_info): Initialize above new
field.
gcc/testsuite
* gcc.dg/vect/pr77503.c: New test.
From-SVN: r240166
Richard Biener [Thu, 15 Sep 2016 12:35:13 +0000 (12:35 +0000)]
re PR tree-optimization/77544 (segfault at -O0 - infinite loop in simplification)
2016-09-15 Richard Biener <rguenther@suse.de>
PR middle-end/77544
* fold-const.c (split_tree): Do not split constant ~X.
* c-c++-common/torture/pr77544.c: New testcase.
From-SVN: r240164
Jakub Jelinek [Thu, 15 Sep 2016 12:27:35 +0000 (14:27 +0200)]
re PR rtl-optimization/77425 (Pointer test follows dereference in sched-int.h)
PR rtl-optimization/77425
* sched-int.h (sd_iterator_cond): Don't update it_ptr->linkp if list
is NULL.
From-SVN: r240163
Jakub Jelinek [Thu, 15 Sep 2016 12:26:39 +0000 (14:26 +0200)]
re PR middle-end/77475 (unnecessary or misleading context in reporting command line problems)
PR middle-end/77475
* config/i386/i386.c (ix86_parse_stringop_strategy_string): Simplify,
use %qs instead of %s where desirable, use argument instead of arg in
the diagnostic wording, add list of supported strategies and
spellcheck hint.
(ix86_option_override_internal): Emit target("m...") instead of
option("m...") in the diagnostic. Use %qs instead of %s in invalid
-march/-mtune option diagnostic. Add list of supported arches/tunings
and spellcheck hint. Remove prefix, suffix and sw variables, use
main_args_p ? "..." : "..." in diagnostics to make translation
possible.
* gcc.target/i386/pr65990.c: Adjust expected diagnostics.
* gcc.dg/march-generic.c: Likewise.
* gcc.target/i386/spellcheck-options-1.c: New test.
* gcc.target/i386/spellcheck-options-2.c: New test.
* gcc.target/i386/spellcheck-options-3.c: New test.
* gcc.target/i386/spellcheck-options-4.c: New test.
From-SVN: r240162
Jonathan Wakely [Thu, 15 Sep 2016 10:30:58 +0000 (11:30 +0100)]
Editorial fixes to libstdc++ debug mode docs
* doc/xml/manual/debug_mode.xml: Minor editorial fixes.
* doc/html/*: Regenerate.
From-SVN: r240161
Jonathan Wakely [Thu, 15 Sep 2016 10:30:52 +0000 (11:30 +0100)]
Fix testsuite to not increment bool
* testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
-Wno-deprecated.
* testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
From-SVN: r240160
Jonathan Wakely [Thu, 15 Sep 2016 10:26:03 +0000 (11:26 +0100)]
Reformat libstdc++-v3/ChangeLog to fit in 80 columns
From-SVN: r240159
Richard Biener [Thu, 15 Sep 2016 10:22:32 +0000 (10:22 +0000)]
dwarf2asm.h (dw2_asm_output_offset): Add overload with extra offset argument.
2016-09-15 Richard Biener <rguenther@suse.de>
* dwarf2asm.h (dw2_asm_output_offset): Add overload with
extra offset argument.
* dwarf2asm.c (dw2_asm_output_offset): Implement that.
* doc/tm.texi.in (ASM_OUTPUT_DWARF_OFFSET): Adjust documentation
to reflect new offset parameter.
* doc/tm.texi: Regenerate.
* config/darwin.h (ASM_OUTPUT_DWARF_OFFSET): Adjust.
* config/darwin-protos.h (darwin_asm_output_dwarf_delta): Add
offset argument.
(darwin_asm_output_dwarf_offset): Likewise.
* config/darwin.c (darwin_asm_output_dwarf_delta): Add offset
argument.
(darwin_asm_output_dwarf_offset): Pass offset argument through.
* config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Adjust.
* config/i386/cygmin.h (ASM_OUTPUT_DWARF_OFFSET): Likewise.
From-SVN: r240158
Jonathan Wakely [Thu, 15 Sep 2016 10:18:38 +0000 (11:18 +0100)]
Fix testsuite to not increment bool
* testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
-Wno-deprecated.
* testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
From-SVN: r240157
Chung-Lin Tang [Thu, 15 Sep 2016 09:46:36 +0000 (09:46 +0000)]
re PR fortran/72743 (ICE in get_constraint_for_ssa_var, at tree-ssa-structalias.c:2958)
2016-09-15 Chung-Lin Tang <cltang@codesourcery.com>
PR fortran/72743
* ipa-icf.c (set_alias_uids): New function.
(sem_variable::merge): Use set_alias_uids to set DECL_PT_UID of
all the merged variable's referring aliases.
testsuite/
* gfortran.dg/goacc/pr72743.f90: New test.
From-SVN: r240155
Richard Biener [Thu, 15 Sep 2016 09:24:10 +0000 (09:24 +0000)]
fold-reassoc-2.c: Fix dump scan.
2016-09-15 Richard Biener <rguenther@suse.de>
* gcc.dg/fold-reassoc-2.c: Fix dump scan.
From-SVN: r240154
Richard Biener [Thu, 15 Sep 2016 07:17:45 +0000 (07:17 +0000)]
re PR tree-optimization/77514 (ICE in VN_INFO_GET, at tree-ssa-sccvn.c:406 w/ -O2 (and above))
2016-09-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/77514
* tree-ssa-pre.c (create_expression_by_pieces): Handle garbage
only forced_stmts sequence.
* gcc.dg/torture/pr77514.c: New testcase.
From-SVN: r240153
Kugan Vivekanandarajah [Thu, 15 Sep 2016 02:03:51 +0000 (02:03 +0000)]
Iterator to visit SSA
Iterator to visit SSA
gcc/ChangeLog:
2016-09-15 Kugan Vivekanandarajah <kuganv@linaro.org>
* tree-ssanames.h (FOR_EACH_SSA_NAME): New.
* cfgexpand.c (update_alias_info_with_stack_vars): Use
FOR_EACH_SSA_NAME to iterate over SSA variables.
(pass_expand::execute): Likewise.
* omp-simd-clone.c (ipa_simd_modify_function_body): Likewise.
* tree-cfg.c (dump_function_to_file): Likewise.
* tree-into-ssa.c (pass_build_ssa::execute): Likewise.
(update_ssa): Likewise.
* tree-ssa-alias.c (dump_alias_info): Likewise.
* tree-ssa-ccp.c (ccp_finalize): Likewise.
* tree-ssa-coalesce.c (build_ssa_conflict_graph): Likewise.
(create_outofssa_var_map): Likewise.
(coalesce_ssa_name): Likewise.
* tree-ssa-operands.c (dump_immediate_uses): Likewise.
* tree-ssa-pre.c (compute_avail): Likewise.
* tree-ssa-sccvn.c (init_scc_vn): Likewise.
(scc_vn_restore_ssa_info): Likewise.
(free_scc_vn): Likwise.
(run_scc_vn): Likewise.
* tree-ssa-structalias.c (compute_points_to_sets): Likewise.
* tree-ssa-ter.c (new_temp_expr_table): Likewise.
* tree-ssa-copy.c (fini_copy_prop): Likewise.
* tree-ssa.c (verify_ssa): Likewise.
From-SVN: r240152
GCC Administrator [Thu, 15 Sep 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r240151
Jakub Jelinek [Wed, 14 Sep 2016 21:55:10 +0000 (23:55 +0200)]
re PR c++/77549 (ICE on invalid C++ code that references undeclared variable)
PR c++/77549
* name-lookup.c (consider_binding_level): Look through TREE_LIST
and OVERLOAD.
* g++.dg/lookup/pr77549.C: New test.
From-SVN: r240148
Ian Lance Taylor [Wed, 14 Sep 2016 20:52:51 +0000 (20:52 +0000)]
libgo: fix typo in configure.ac (PCQUANTUm -> PCQUANTUM)
Reviewed-on: https://go-review.googlesource.com/29154
From-SVN: r240146
Matthew Fortune [Wed, 14 Sep 2016 19:59:59 +0000 (19:59 +0000)]
Infer architecture from ABI for mips-mti* and mips-img* triplets.
gcc/
* config.gcc (mips*-mti-elf*, mips*-mti-linux*): Set mips32r2
and mips64r2 as default 32-bit and 64-bit architectures.
(mips*-img-elf*, mips*-img-linux*): Set mips32r6 and mips64r6
as default 32-bit and 64-bit architectures.
From-SVN: r240145
Bernd Edlinger [Wed, 14 Sep 2016 18:04:39 +0000 (18:04 +0000)]
simplify.c (gfc_simplify_repeat): Fix a misplaced closing ')'.
2016-09-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
* simplify.c (gfc_simplify_repeat): Fix a misplaced closing ')'.
From-SVN: r240142
Marek Polacek [Wed, 14 Sep 2016 17:46:59 +0000 (17:46 +0000)]
typeck.c (cp_build_unary_op): Diagnose incrementing boolean expressions.
* typeck.c (cp_build_unary_op): Diagnose incrementing boolean
expressions. Tweak an error message.
* c-c++-common/gomp/atomic-12.c: Use -Wno-deprecated.
* c-c++-common/gomp/atomic-13.c: Likewise.
* c-c++-common/gomp/atomic-14.c: Likewise.
* g++.dg/cpp1y/lambda-init11.C: Remove invalid code.
* g++.dg/cpp1z/bool-increment1.C: New test.
* c-c++-common/pr60439.c: Add dg-warning.
* g++.dg/expr/bitfield4.C: Likewise.
* g++.dg/expr/bitfield5.C: Likewise.
* g++.dg/expr/bitfield6.C: Likewise.
* g++.dg/expr/bool1.C: Likewise.
* g++.dg/expr/bool3.C: Likewise.
* g++.dg/expr/lval3.C: Likewise.
* g++.dg/expr/lval4.C: Likewise.
* g++.old-deja/g++.jason/bool5.C: Likewise.
* g++.dg/expr/bitfield3.C: Adjust dg-error.
* g++.dg/other/error18.C: Likewise.
* g++.dg/gomp/atomic-14.C: Likewise.
libgomp/
* testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
libstdc++-v3/
* testsuite/23_containers/vector/debug/insert6_neg.cc: Use
-Wno-deprecated.
From-SVN: r240141
Pat Haugen [Wed, 14 Sep 2016 17:04:18 +0000 (17:04 +0000)]
loop-unroll.c (unroll_loop_runtime_iterations): Set probability of succ edge.
* loop-unroll.c (unroll_loop_runtime_iterations): Set probability of succ edge.
From-SVN: r240140
Jason Merrill [Wed, 14 Sep 2016 16:18:10 +0000 (12:18 -0400)]
c-common.c (check_cxx_fundamental_alignment_constraints): Don't limit FIELD_DECL, either.
* c-common.c (check_cxx_fundamental_alignment_constraints): Don't
limit FIELD_DECL, either.
From-SVN: r240139
Nathan Sidwell [Wed, 14 Sep 2016 16:13:52 +0000 (16:13 +0000)]
re PR c++/77539 (gcc-5/6: comparison of array to nullptr failure in constexpr (fixed by r235506 on trunk))
PR c++/77539
* g++.dg/cpp1y/pr77539.C: New.
From-SVN: r240138
Marek Polacek [Wed, 14 Sep 2016 15:05:00 +0000 (15:05 +0000)]
c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
* c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
* c-common.h (build_unary_op): Change nonconvert parameter type to bool.
* c-omp.c (c_finish_omp_atomic): Use false instead of 0.
* c-array-notation.c (create_cmp_incr): Use false instead of 0.
(fix_array_notation_expr): Likewise.
* c-decl.c (finish_decl): Likewise.
* c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
* c-typeck.c (array_to_pointer_conversion): Use true instead of 1.
(function_to_pointer_conversion): Use false instead of 0.
(convert_lvalue_to_rvalue): Likewise.
(parser_build_unary_op): Likewise.
(build_atomic_assign): Likewise.
(build_unary_op): Change nonconvert parameter type to bool, use
true/false instead of 1/0.
(build_binary_op): Use true instead of 1.
* cp-tree.h (cp_build_unary_op): Change nonconvert parameter type to
bool.
* decl2.c (one_static_initialization_or_destruction): Use true instead
of 1.
* init.c (build_vec_init): Use false instead of 0.
* pt.c (tsubst_copy_and_build): Likewise.
* semantics.c (simplify_loop_decl_cond): Likewise.
* typeck.c (rationalize_conditional_expr): Likewise.
(cp_build_binary_op): Use true instead of 1.
(cp_build_unary_op): Change nonconvert parameter type to bool. Use true
instead of 1.
(build_unary_op): Change nonconvert parameter type to bool.
(unary_complex_lvalue): Use false instead of 0.
From-SVN: r240137
Christophe Lyon [Wed, 14 Sep 2016 13:37:23 +0000 (13:37 +0000)]
Fix dg-require before dg-run directives in testsuite.
libstdc++-v3/ChangeLog:
2016-09-14 Christophe Lyon <christophe.lyon@linaro.org>
* testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
Move dg-do directive before dg-skip.
* testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
Move dg-do directive before dg-require.
* testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
* testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
* testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
Likewise.
* testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
* testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
* testsuite/27_io/objects/char/12048-5.cc: Likewise.
* testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
* testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
gcc/testsuite/ChangeLog:
2016-09-14 Christophe Lyon <christophe.lyon@linaro.org>
* g++.dg/cpp0x/lambda/lambda-mangle.C: Move dg-do directive before
dg-require.
* g++.dg/ext/builtin_alloca.C: Likewise.
* g++.dg/template/spec35.C: Likewise.
* gcc.dg/builtins-68.c: Likewise.
* gcc.misc-tests/gcov-13.c: Likewise.
* gcc.misc-tests/gcov-14.c: Likewise.
From-SVN: r240135
Jim MacArthur [Wed, 14 Sep 2016 12:13:03 +0000 (12:13 +0000)]
dec_structure_14.f90: New testcase.
2016-09-13 Jim MacArthur <jim.macarthur@codethink.co.uk>
* gcc/testsuite/gfortran.dg/dec_structure_14.f90: New testcase.
From-SVN: r240134
Segher Boessenkool [Wed, 14 Sep 2016 10:51:43 +0000 (12:51 +0200)]
Fix TARGET_LRA_P description
2016-09-14 Segher Boessenkool <segher@kernel.crashing.org>
* target.def (lra_p): Change commentary (for the manual) for the
new default.
* doc/tm.texi: Regenerate.
From-SVN: r240133
Segher Boessenkool [Wed, 14 Sep 2016 10:49:42 +0000 (12:49 +0200)]
Delete TARGET_LRA_P from those targets that set it to "true"
A few targets already always want LRA; those then do not need to override
the default anymore.
2016-09-14 Segher Boessenkool <segher@kernel.crashing.org>
* config/aarch64/aarch64.c (TARGET_LRA_P): Delete macro.
* config/arm/arm.c (TARGET_LRA_P): Delete macro.
* config/i386/i386.c (TARGET_LRA_P): Delete macro.
* config/nds32/nds32.c (TARGET_LRA_P): Delete macro.
From-SVN: r240132
Segher Boessenkool [Wed, 14 Sep 2016 10:48:00 +0000 (12:48 +0200)]
Change the default of TARGET_LRA_P to true
Since all targets now define TARGET_LRA_P, this does not change behaviour
for any existing target. Newly added ports will by default use LRA now.
2016-09-14 Segher Boessenkool <segher@kernel.crashing.org>
* targhooks.c (default_lra_p): Return true instead of false.
From-SVN: r240131
Segher Boessenkool [Wed, 14 Sep 2016 10:46:12 +0000 (12:46 +0200)]
Put a TARGET_LRA_P into every target
This patch adds a TARGET_LRA_P (defined to hook_bool_void_false) to
every target that didn't yet override the hook. No functional change.
2016-09-14 Segher Boessenkool <segher@kernel.crashing.org>
* config/alpha/alpha.c (TARGET_LRA_P): New macro, defined to
hook_bool_void_false.
* config/avr/avr.c: Ditto.
* config/bfin/bfin.c: Ditto.
* config/c6x/c6x.c: Ditto.
* config/cr16/cr16.c: Ditto.
* config/cris/cris.c: Ditto.
* config/epiphany/epiphany.c: Ditto.
* config/fr30/fr30.c: Ditto.
* config/frv/frv.c: Ditto.
* config/h8300/h8300.c: Ditto.
* config/ia64/ia64.c: Ditto.
* config/iq2000/iq2000.c: Ditto.
* config/lm32/lm32.c: Ditto.
* config/m32c/m32c.c: Ditto.
* config/m32r/m32r.c: Ditto.
* config/m68k/m68k.c: Ditto.
* config/mcore/mcore.c: Ditto.
* config/microblaze/microblaze.c: Ditto.
* config/mmix/mmix.c: Ditto.
* config/mn10300/mn10300.c: Ditto.
* config/moxie/moxie.c: Ditto.
* config/msp430/msp430.c: Ditto.
* config/nios2/nios2.c: Ditto.
* config/nvptx/nvptx.c: Ditto.
* config/pa/pa.c: Ditto.
* config/pdp11/pdp11.c: Ditto.
* config/rl78/rl78.c: Ditto.
* config/sparc/sparc.c: Ditto.
* config/spu/spu.c: Ditto.
* config/stormy16/stormy16.c: Ditto.
* config/tilegx/tilegx.c: Ditto.
* config/tilepro/tilepro.c: Ditto.
* config/v850/v850.c: Ditto.
* config/vax/vax.c: Ditto.
* config/visium/visium.c: Ditto.
* config/xtensa/xtensa.c: Ditto.
From-SVN: r240130
Jakub Jelinek [Wed, 14 Sep 2016 09:01:49 +0000 (11:01 +0200)]
re PR sanitizer/68260 (false positive with tsan)
PR sanitizer/68260
* tsan.c: Include target.h.
(enum tsan_atomic_action): Add bool_clear and bool_test_and_set.
(BOOL_CLEAR, BOOL_TEST_AND_SET): Define.
(tsan_atomic_table): Add BUILT_IN_ATOMIC_CLEAR and
BUILT_IN_ATOMIC_TEST_AND_SET entries.
(instrument_builtin_call): Handle bool_clear and bool_test_and_set.
* c-c++-common/tsan/pr68260.c: New test.
From-SVN: r240129
Bernd Edlinger [Wed, 14 Sep 2016 07:18:53 +0000 (07:18 +0000)]
Add braces to a condition in predict.c (PR middle-end/77574)
Martin Liska <mliska@suse.cz>
PR middle-end/77574
* predict.c (force_edge_cold): Add braces to a condition.
Co-Authored-By: Martin Liska <mliska@suse.cz>
From-SVN: r240128
GCC Administrator [Wed, 14 Sep 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r240127
Bernd Edlinger [Tue, 13 Sep 2016 21:25:04 +0000 (21:25 +0000)]
re PR rtl-optimization/77289 (ICE in extract_constrain_insn, at recog.c:2212 on powerpc64)
2016-09-13 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR rtl-optimization/77289
* lra-constraints.c (get_final_hard_regno): Removed.
(get_hard_regno): Add new parameter final_p.
(get_reg_class): Directly call lra_get_elimination_hard_regno.
(operands_match_p): Adjust call to get_hard_regno.
(uses_hard_regs_p): Likewise.
(process_alt_operands): Likewise.
From-SVN: r240124
Joe Seymour [Tue, 13 Sep 2016 20:06:47 +0000 (20:06 +0000)]
re PR target/70713 (msp430 interrupt attribute prevents overriding weak symbols)
2016-09-13 Joe Seymour <joe.s@somniumtech.com>
gcc/
PR target/70713
* config/msp430/msp430.c (msp430_start_function): Emit an error
if a function is both weak and specifies an interrupt number.
gcc/testsuite/
PR target/70713
* gcc.target/msp430/function-attributes-1.c: New test.
* gcc.target/msp430/function-attributes-2.c: New test.
* gcc.target/msp430/function-attributes-3.c: New test.
From-SVN: r240123
Ville Voutilainen [Tue, 13 Sep 2016 19:26:02 +0000 (22:26 +0300)]
Implement P0040R3, Extending memory management tools.
* include/bits/stl_uninitialized.h (utility): New include
in C++17 mode.
(uninitialized_default_construct): New.
(uninitialized_default_construct_n): Likewise.
(uninitialized_value_construct): Likewise.
(uninitialized_value_construct_n): Likewise.
(uninitialized_move): Likewise.
(uninitialized_move_n): Likewise.
(destroy_at, destroy, destroy_n): Likewise.
* testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc:
New.
From-SVN: r240122
Jakub Jelinek [Tue, 13 Sep 2016 19:20:38 +0000 (21:20 +0200)]
Implement P0028R4, C++17 using attribute namespaces without repetition
Implement P0028R4, C++17 using attribute namespaces without repetition
* parser.c (cp_parser_std_attribute): Add ATTR_NS argument. Diagnose
non-NULL ATTR_NS with scoped attribute token. Handle non-NULL
ATTR_NS with non-scoped attribute tokens. Allow named ops in
identifier after ::.
(cp_parser_std_attribute_list): Add ATTR_NS argument, pass it down
to cp_parser_std_attribute calls.
(cp_parser_std_attribute_spec): Parse optional C++17
attribute-using-prefix, adjust grammar in function comment.
* g++.dg/cpp0x/gen-attrs-61.C: New test.
* g++.dg/cpp1z/gen-attrs1.C: New test.
From-SVN: r240121
Jakub Jelinek [Tue, 13 Sep 2016 19:19:33 +0000 (21:19 +0200)]
re PR tree-optimization/77454 (IMM ERROR w/ -O2 and above)
PR tree-optimization/77454
* tree-ssa-dom.c (optimize_stmt): Set modified flag on stmt after
changing GIMPLE_COND. Move update_stmt_if_modified call after this.
Formatting fix.
* gcc.dg/pr77454.c: New test.
From-SVN: r240120
Jakub Jelinek [Tue, 13 Sep 2016 17:10:39 +0000 (19:10 +0200)]
re PR c++/77553 (wrong code with post-increment operator in constexpr)
PR c++/77553
* constexpr.c (cxx_fold_pointer_plus_expression): New function.
(cxx_eval_binary_expression): Use it for POINTER_PLUS_EXPR.
(cxx_eval_pointer_plus_expression): Remove.
(cxx_eval_constant_expression) <case POINTER_PLUS_EXPR>: Don't
call cxx_eval_pointer_plus_expression.
* g++.dg/cpp1y/constexpr-77553.C: New test.
From-SVN: r240119
Steven G. Kargl [Tue, 13 Sep 2016 17:00:29 +0000 (17:00 +0000)]
re PR fortran/77420 (gfortran and equivalence produces internal compiler error)
2016-09-13 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77420
* module.c (load_equiv): Revert revision 240063.
2016-09-13 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77420
* gfortran.dg/pr77420.f90: Revert revision 240063 by removing test.
From-SVN: r240118
Tamar Christina [Tue, 13 Sep 2016 16:32:23 +0000 (16:32 +0000)]
[PATCH 1/2][AArch64] Add missing support for poly64x1_t
Committed on behalf of:
Tamar Christina <tamar.christina@arm.com>
gcc/
* config/aarch64/aarch64-builtins.c
(aarch64_init_simd_builtins): Fix builtin type signature printing.
From-SVN: r240117
Uros Bizjak [Tue, 13 Sep 2016 16:29:40 +0000 (18:29 +0200)]
alpha.c (alpha_pass_by_reference): Pass un-named SFmode and SCmode arguments by reference.
* config/alpha/alpha.c (alpha_pass_by_reference): Pass un-named
SFmode and SCmode arguments by reference.
From-SVN: r240116
David Malcolm [Tue, 13 Sep 2016 16:08:59 +0000 (16:08 +0000)]
fix-it hints: insert_before vs insert_after
The API for adding "insert text" fix-it hints was unclear
about exactly where the text should be inserted relative
to the given insertion point.
This patch clarifies things by renaming the pertinent methods from
richloc.add_fixit_insert
to
richloc.add_fixit_insert_before
and adding:
richloc.add_fixit_insert_after
The latter allows us to consolidate some failure-handling into
class rich_location, rather than having to have every such diagnostic
check for it.
The patch also adds a description of how fix-it hints work to the
comment for class rich_location within libcpp/include/line-map.h.
gcc/c-family/ChangeLog:
* c-common.c (warn_logical_not_parentheses): Replace
rich_location::add_fixit_insert calls with add_fixit_insert_before
and add_fixit_insert_after, eliminating the "next_loc" calculation.
gcc/c/ChangeLog:
* c-parser.c (c_parser_declaration_or_fndef): Update for renaming
of add_fixit_insert to add_fixit_insert_before.
gcc/cp/ChangeLog:
* parser.c (cp_parser_class_specifier_1): Update for renaming of
add_fixit_insert to add_fixit_insert_before.
(cp_parser_class_head): Likewise.
gcc/ChangeLog:
* diagnostic-show-locus.c (selftest::test_one_liner_fixit_insert):
Rename to...
(selftest::test_one_liner_fixit_insert_before): ...this, and update
for renaming of add_fixit_insert to add_fixit_insert_before.
(selftest::test_one_liner_fixit_insert_after): New function.
(selftest::test_one_liner_fixit_validation_adhoc_locations):
Update for renaming of add_fixit_insert to
add_fixit_insert_before.
(selftest::test_one_liner_many_fixits): Likewise.
(selftest::test_diagnostic_show_locus_one_liner): Update for
renaming, call new test function.
(selftest::test_diagnostic_show_locus_fixit_lines): Update for
renaming of add_fixit_insert to add_fixit_insert_before.
(selftest::test_fixit_consolidation): Likewise.
* diagnostic.c (selftest::test_print_parseable_fixits_insert):
Likewise.
* edit-context.c (selftest::test_applying_fixits_insert): Rename
to...
(selftest::test_applying_fixits_insert_before): ...this.
(selftest::test_applying_fixits_insert): Update for renaming of
add_fixit_insert to add_fixit_insert_before.
(selftest::test_applying_fixits_insert_after): New function.
(selftest::test_applying_fixits_insert_after_at_line_end): New
function.
(selftest::test_applying_fixits_insert_after_failure): New
function.
(selftest::test_applying_fixits_multiple): Update for renaming of
add_fixit_insert to add_fixit_insert_before.
(selftest::change_line): Likewise.
(selftest::test_applying_fixits_unreadable_file): Likewise.
(selftest::test_applying_fixits_line_out_of_range): Likewise.
(selftest::test_applying_fixits_column_validation): Likewise.
(selftest::test_applying_fixits_column_validation): Likewise.
(selftest::edit_context_c_tests): Update for renamed test
function; call new test functions.
gcc/testsuite/ChangeLog:
* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
(test_show_locus): Replace rich_location::add_fixit_insert calls
with add_fixit_insert_before and add_fixit_insert_after.
libcpp/ChangeLog:
* include/line-map.h (class rich_location): Add description of
fix-it hints to leading comment.
(rich_location::add_fixit_insert): Rename both overloaded methods
to..
(rich_location::add_fixit_insert_before): ...this, updating their
comments.
(rich_location::add_fixit_insert_after): Two new overloaded
methods.
(rich_location::stop_supporting_fixits): New method.
* line-map.c (rich_location::add_fixit_insert): Rename both
overloaded methods to..
(rich_location::add_fixit_insert_before): ...this, updating their
comments.
(rich_location::add_fixit_insert_after): Two new methods.
(rich_location::reject_impossible_fixit): Split out
failure-handling into...
(rich_location::stop_supporting_fixits): New method.
From-SVN: r240115
Pat Haugen [Tue, 13 Sep 2016 15:58:52 +0000 (15:58 +0000)]
re PR tree-optimization/77536 (Vectorizer not maintaining relationship of relative block frequencies in absence of real profile data)
PR tree-optimization/77536
PR rtl-optimization/68212
* config/rs6000/rs6000.md (div->recip splitter): Remove
optimize_insn_for_speed_p condition.
From-SVN: r240113
Jason Merrill [Tue, 13 Sep 2016 15:56:03 +0000 (11:56 -0400)]
Don't treat array as builtin type in set_underlying_type
2016-09-13 Jason Merrill <jason@redhat.com>
Tom de Vries <tom@codesourcery.com>
PR c++/77427
* c-common.c (set_underlying_type): Don't treat array as builtin type.
* g++.dg/pr77427.C: New test.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r240112
Martin Liska [Tue, 13 Sep 2016 13:30:13 +0000 (15:30 +0200)]
Add new effective target: profile_update_atomic
* g++.dg/gcov/gcov-threads-1.C: Use profile_update_atomic
effective target.
* gcc.dg/tree-prof/val-profiler-threads-1.c: Likewise.
* lib/target-supports.exp: Define the new target.
From-SVN: r240111
Jason Merrill [Tue, 13 Sep 2016 13:15:39 +0000 (09:15 -0400)]
Trying again to fix aligned-new on m68k.
* c-common.c (check_cxx_fundamental_alignment_constraints): Don't
limit types at all.
From-SVN: r240110
Marek Polacek [Tue, 13 Sep 2016 10:42:39 +0000 (10:42 +0000)]
c-typeck.c (build_unary_op): Rename FLAG parameter to NOCONVERT.
* c-typeck.c (build_unary_op): Rename FLAG parameter to NOCONVERT. Use
it.
From-SVN: r240109
Maciej W. Rozycki [Tue, 13 Sep 2016 09:47:10 +0000 (09:47 +0000)]
* optabs.c (prepare_cmp_insn): Update documentation comment.
From-SVN: r240108
Jakub Jelinek [Tue, 13 Sep 2016 08:45:36 +0000 (10:45 +0200)]
re PR middle-end/77475 (unnecessary or misleading context in reporting command line problems)
PR middle-end/77475
* opts.h (candidates_list_and_hint): Declare.
* opts-common.c (candidates_list_and_hint): New function.
(cmdline_handle_error): Use it.
Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r240107
GCC Administrator [Tue, 13 Sep 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r240106
David Malcolm [Tue, 13 Sep 2016 00:07:52 +0000 (00:07 +0000)]
Simplify edited_file::print_diff
gcc/ChangeLog:
* edit-context.c (edited_line::get_len): New accessor.
(edited_file::print_diff): Split out hunk-printing into...
(edited_file::print_diff_hunk): New method.
(edited_file::print_diff_line): New method.
From-SVN: r240103
Andrew Pinski [Mon, 12 Sep 2016 21:30:33 +0000 (21:30 +0000)]
Add tunning of ldpw for THunderX.
2016-09-12 Andrew Pinski <apinski@cavium.com>
* config/aarch64/aarch64-tuning-flags.def (SLOW_UNALIGNED_LDPW):
New tuning option.
* config/aarch64/aarch64.c (thunderx_tunings): Enable
AARCH64_EXTRA_TUNE_SLOW_UNALIGNED_LDPW.
(aarch64_operands_ok_for_ldpstp): Return false if
AARCH64_EXTRA_TUNE_SLOW_UNALIGNED_LDPW and the mode
was SImode and the alignment is less than 8 byte.
(aarch64_operands_adjust_ok_for_ldpstp): Likewise.
2016-09-12 Andrew Pinski <apinski@cavium.com>
* gcc.target/aarch64/thunderxloadpair.c: New testcase.
* gcc.target/aarch64/thunderxnoloadpair.c: New testcase.
From-SVN: r240102
Orlando Arias [Mon, 12 Sep 2016 21:27:48 +0000 (21:27 +0000)]
re PR target/77570 ([msp430-elf] Wrong assembly in delay_cycles_32x insn declaration)
2016-09-12 Orlando Arias <oarias@knights.ucf.edu>
PR target/77570
* config/msp430/msp430.md (delay_cycles_32x): Fix pushm/popm.
From-SVN: r240101
Jason Merrill [Mon, 12 Sep 2016 20:55:55 +0000 (16:55 -0400)]
Fix aligned-new tests on m68k.
* c-common.c (check_cxx_fundamental_alignment_constraints): Fix
bit/byte confusion, allow large alignment for types.
From-SVN: r240100
Uros Bizjak [Mon, 12 Sep 2016 20:32:17 +0000 (22:32 +0200)]
scalar-by-value-4_x.c: Also test passing of variable arguments.
* gcc.dg/compat/scalar-by-value-4_x.c: Also test passing of
variable arguments.
* gcc.dg/compat/scalar-by-value-4_y.c (testva##NAME): New.
* gcc.dg/compat/scalar-by-value-4_main.c: Update description comment.
* gcc.dg/compat/scalar-return-4_x.c: Also test returning of
variable argument.
* gcc.dg/compat/scalar-return-4_y.c (testva##NAME): New.
* gcc.dg/compat/scalar-return-4_main.c: Update description comment.
From-SVN: r240099
Bernd Edlinger [Mon, 12 Sep 2016 20:18:16 +0000 (20:18 +0000)]
re PR c++/77496 (ICE in instantiate_type, at cp/class.c:8270)
gcc/c-family:
2016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR c++/77496
* c-common.c (warn_for_omitted_condop): Also warn for boolean data.
gcc/c:
2016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR c++/77496
* c-parser.c (c_parser_conditional_expression): Pass the rightmost
COMPOUND_EXPR to warn_for_omitted_condop.
gcc/cp:
2016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR c++/77496
* call.c (build_conditional_expr_1): Call warn_for_omitted_condop.
* class.c (instantiate_type): Look through the SAVE_EXPR.
gcc/testsuite:
2016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR c++/77496
* c-c++-common/warn-ommitted-condop.c: Add more test cases.
* g++.dg/ext/pr77496.C: New test.
* g++.dg/warn/pr77496.C: New test.
From-SVN: r240098
Jason Merrill [Mon, 12 Sep 2016 18:20:46 +0000 (14:20 -0400)]
* config/abi/pre/gnu.ver: Use [jmy] for size_t.
From-SVN: r240097
David Malcolm [Mon, 12 Sep 2016 16:01:02 +0000 (16:01 +0000)]
Fix suggestions for non-trivial Wformat type cases (PR c/72858)
gcc/c-family/ChangeLog:
PR c/72858
* c-format.c (argument_parser::check_argument_type): Add params
"type_start" and "conversion_char". Use the former to generate
offset_to_type_start and pass it and conversion_char to
check_format_types.
(check_format_info_main): Capture the start of the type
information as "type_start", and pass it an format_char
to arg_parser.check_argument_type.
(check_format_types): Provide an example in the leading comment.
Add params "offset_to_type_start" and "conversion_char"; pass
them to format_type_warning calls.
(test_get_modifier_for_format_len): Likewise.
(matching_type_p): New function.
(get_format_for_type): Add param "conversion_char" and move
implementation into...
(get_format_for_type_1): ...new function, called twice.
Use new function matching_type_p rather than checking for
TYPE_CANONICAL equality.
(get_corrected_substring): New function.
(format_type_warning): Provide an example in the leading comment.
Add params "offset_to_type_start" and "conversion_char". Replace
call to get_format_for_type with call to get_corrected_substring
and move rejection of hints for widths/precisions there.
(assert_format_for_type_streq): Add param "conversion_char".
(ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
(test_get_format_for_type_printf): Add conversion chars to the
tests, adding coverage for various combinations of integer
vs double conversions, and for preserving octal and hexadecimal
conversions.
(test_get_format_for_type_scanf): Add conversion chars to the
tests.
gcc/testsuite/ChangeLog:
PR c/72858
* gcc.dg/format/diagnostic-ranges.c: Update expected suggestions
to preserve conversion chars, and to preserve prefix information.
* gcc.dg/format/pr72858.c: New test case.
From-SVN: r240095
Ville Voutilainen [Mon, 12 Sep 2016 15:48:32 +0000 (18:48 +0300)]
Implement P0253R1, Fixing a design mistake in the searchers interface in Library Fundamentals.
Implement P0253R1, Fixing a design mistake in the searchers
interface in Library Fundamentals.
* include/std/functional: (utility): New include in C++17 mode.
(default_searcher): Use a pair as return type, adjust the definition.
(boyer_moore_searcher): Likewise.
(boyer_moore_horspool_searcher): Likewise.
* testsuite/20_util/function_objects/searchers.cc: Adjust.
From-SVN: r240094
Ville Voutilainen [Mon, 12 Sep 2016 15:48:07 +0000 (18:48 +0300)]
Implement C++17 string searchers.
* include/std/functional: (unordered_map, vector): New includes
in C++17 mode.
(array, bits/stl_algo.h): Likewise.
(default_searcher, __boyer_moore_map_base): New.
(__boyer_moore_array_base, __is_std_equal_to): Likewise.
(__boyer_moore_base_t, boyer_moore_searcher): Likewise.
(boyer_moore_horspool_searcher, make_default_searcher): Likewise.
(make_boyer_moore_searcher): Likewise.
(make_boyer_moore_horspool_searcher): Likewise.
* testsuite/20_util/function_objects/searchers.cc: New.
From-SVN: r240093
Maciej W. Rozycki [Mon, 12 Sep 2016 14:08:48 +0000 (14:08 +0000)]
configure.ac: Check for the minimum in-tree MPFR version handled.
* configure.ac: Check for the minimum in-tree MPFR version
handled.
* configure: Regenerate.
From-SVN: r240092
Marek Polacek [Mon, 12 Sep 2016 11:43:21 +0000 (11:43 +0000)]
extend.texi: Use lowercase "boolean".
* doc/extend.texi: Use lowercase "boolean".
* doc/invoke.texi: Likewise.
* doc/md.texi: Likewise.
* target.def: Likewise.
* doc/tm.texi: Regenerated.
From-SVN: r240091
Matthew Wahab [Mon, 12 Sep 2016 09:03:50 +0000 (09:03 +0000)]
[libstdc++-v3] Fix dg-require before dg-run directives in testsuite.
* testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
Move dg-do directive before dg-require.
* testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
* testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
Likewise.
* testsuite/22_locale/codecvt/utf8.cc: Likewise.
* testsuite/22_locale/locale/cons/unicode.cc: Likewise.
* testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
* testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
* testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
* testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
* testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
* testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
* testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
* testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
* testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
* testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
* testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/deque/debug/self_move_assign_neg.cc: Likewise.
* testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
* testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
* testsuite/23_containers/forward_list/debug/construct1_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/construct2_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/construct3_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/erase_after1_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/erase_after2_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/erase_after3_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/erase_after4_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/erase_after5_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/erase_after6_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/erase_after7_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/erase_after8_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/erase_after9_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/insert_after1_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/insert_after2_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/insert_after3_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/insert_after4_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/iterator_self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/splice_after1_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/splice_after2_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/splice_after3_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/splice_after4_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/splice_after5_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/splice_after6_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/splice_after7_neg.cc: Likewise.
* testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
* testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
* testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
* testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
* testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
* testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
* testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
* testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
* testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
* testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
* testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
* testsuite/23_containers/map/debug/60499.cc: Likewise.
* testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
* testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
* testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
* testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
* testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
* testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
* testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
* testsuite/23_containers/multimap/debug/60499.cc: Likewise.
* testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
* testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
* testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
* testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
* testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
* testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
* testsuite/23_containers/multimap/debug/iterator_self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/multimap/debug/self_move_assign_neg.cc: Likewise.
* testsuite/23_containers/multiset/debug/60499.cc: Likewise.
* testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
* testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
* testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
* testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
* testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
* testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
* testsuite/23_containers/multiset/debug/iterator_self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/multiset/debug/self_move_assign_neg.cc: Likewise.
* testsuite/23_containers/set/debug/60499.cc: Likewise.
* testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
* testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
* testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
* testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
* testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
* testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
* testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/construct1_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/construct2_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/construct3_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/invalid_local_iterator_compare_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/invalid_local_iterator_range_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/iterator_self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
Likewise.
* testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/unordered_map/debug/use_erased_local_iterator_neg.cc:
Likewise.
* testsuite/23_containers/unordered_map/debug/use_invalid_iterator_neg.cc:
Likewise.
* testsuite/23_containers/unordered_map/debug/use_invalid_local_iterator_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
* testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc: Likewise.
* testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc: Likewise.
* testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc: Likewise.
* testsuite/23_containers/unordered_multimap/debug/cend_neg.cc: Likewise.
* testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/end1_neg.cc: Likewise.
* testsuite/23_containers/unordered_multimap/debug/end2_neg.cc: Likewise.
* testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc: Likewise.
* testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc: Likewise.
* testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc: Likewise.
* testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_compare_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_range_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/iterator_self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/max_load_factor_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/use_erased_local_iterator_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/use_invalid_iterator_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/use_invalid_local_iterator_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/60499.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/end1_neg.cc: Likewise.
* testsuite/23_containers/unordered_multiset/debug/end2_neg.cc: Likewise.
* testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc: Likewise.
* testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc: Likewise.
* testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc: Likewise.
* testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_compare_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_range_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/iterator_self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/max_load_factor_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/use_erased_local_iterator_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/use_invalid_iterator_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/use_invalid_local_iterator_neg.cc:
Likewise.
* testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/construct1_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/construct2_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/construct3_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/debug/invalid_local_iterator_compare_neg.cc:
Likewise.
* testsuite/23_containers/unordered_set/debug/invalid_local_iterator_range_neg.cc:
Likewise.
* testsuite/23_containers/unordered_set/debug/iterator_self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc:
Likewise.
* testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/unordered_set/debug/use_erased_local_iterator_neg.cc:
Likewise.
* testsuite/23_containers/unordered_set/debug/use_invalid_iterator_neg.cc:
Likewise.
* testsuite/23_containers/unordered_set/debug/use_invalid_local_iterator_neg.cc:
Likewise.
* testsuite/23_containers/vector/debug/52433.cc: Likewise.
* testsuite/23_containers/vector/debug/60499.cc: Likewise.
* testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
* testsuite/23_containers/vector/debug/iterator_self_move_assign_neg.cc:
Likewise.
* testsuite/23_containers/vector/debug/self_move_assign_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
* testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
* testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
* testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
* testsuite/29_atomics/atomic/60658.cc: Likewise.
* testsuite/29_atomics/atomic/60695.cc: Likewise.
* testsuite/29_atomics/atomic/62259.cc: Likewise.
* testsuite/29_atomics/atomic/64658.cc: Likewise.
* testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
* testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
* testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: Likewise.
From-SVN: r240090
Kyrylo Tkachov [Mon, 12 Sep 2016 08:17:27 +0000 (08:17 +0000)]
[expmed.c] PR middle-end/77426 Delete duplicate condition in synth_mult
PR middle-end/77426
* expmed.c (synth_mult): Delete duplicate mode check.
From-SVN: r240089
GCC Administrator [Mon, 12 Sep 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r240088
Steven G. Kargl [Sun, 11 Sep 2016 19:04:56 +0000 (19:04 +0000)]
pr77507.f90: Move to ...
2016-09-11 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.dg/pr77507.f90: Move to ...
* gfortran.dg/ieee/pr77507.f90: here.
From-SVN: r240085
Carlos Liam [Sun, 11 Sep 2016 13:44:07 +0000 (15:44 +0200)]
* all: Remove meaningless trailing whitespace.
From-SVN: r240084
Ian Lance Taylor [Sun, 11 Sep 2016 13:23:27 +0000 (13:23 +0000)]
runtime/internal/sys: new package, API copied from Go 1.7
Copy over the Go 1.7 runtime/internal/sys package, but instead of having
separate files for each GOARCH and GOOS value, set the values in
configure.ac and write them out in Makefile.am. Setting the values in
configure.ac should make it easier to add new processors.
Remove the automake GOARCH conditionals, which are no longer used.
Leave the GOOS conditionals for now, as they are used for the C runtime
package.
Reviewed-on: https://go-review.googlesource.com/29018
From-SVN: r240083
Jan Hubicka [Sun, 11 Sep 2016 12:15:02 +0000 (14:15 +0200)]
re PR ipa/61159 (__builtin_constant_p gives incorrect results with aliases)
PR ipa/61159
* compile/pr61159.c: New testcase
From-SVN: r240082
Jan Hubicka [Sun, 11 Sep 2016 12:08:28 +0000 (14:08 +0200)]
re PR ipa/63416 (Three calls to empty functions via pointers get folded, but not inlined)
PR ipa/64316
* gcc.dg/ipa/pr63416.c: New testcase.
From-SVN: r240081
Jonathan Wakely [Sun, 11 Sep 2016 10:19:30 +0000 (11:19 +0100)]
Fix bootstrap failure when ATOMIC_INT_LOCK_FREE < 2
* libsupc++/new_opant.cc: Include exception_defines.h.
* libsupc++/new_opvant.cc: Likewise.
From-SVN: r240080
GCC Administrator [Sun, 11 Sep 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r240079
Jerry DeLisle [Sat, 10 Sep 2016 21:20:12 +0000 (21:20 +0000)]
Fix typo in log.
From-SVN: r240076
Jerry DeLisle [Sat, 10 Sep 2016 21:18:28 +0000 (21:18 +0000)]
Fix typo in log.
From-SVN: r240075
Paul Thomas [Sat, 10 Sep 2016 21:16:45 +0000 (21:16 +0000)]
re PR fortran/77532 ([F03] ICE in check_dtio_interface1, at fortran/interface.c:4622)
2016-09-10 Paul Thomas <pault@gcc.gnu.org>
Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77532
^ interface.c (check_dtio_arg_TKR_intent): Return after error.
(check_dtio_interface1): Remove asserts, test for NULL and return
if found.
gfortran.dg/dtio_11.f90: new test.
Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>
From-SVN: r240074
Steven G. Kargl [Sat, 10 Sep 2016 14:45:46 +0000 (14:45 +0000)]
re PR fortran/77507 (gfortran rejects keyworded calls to procedures from intrinsic modules)
2016-09-10 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77507
* gfortran.dg/c_assoc_2.f03: Update for r240050
* gfortran.dg/c_assoc_4.f90: Ditto.
From-SVN: r240073
Tom de Vries [Sat, 10 Sep 2016 14:38:56 +0000 (14:38 +0000)]
Make canonical_va_list_type more strict
2016-09-10 Tom de Vries <tom@codesourcery.com>
PR C/71602
* builtins.c (std_canonical_va_list_type): Strictly return non-null for
va_list type only.
* config/i386/i386.c (ix86_canonical_va_list_type): Same.
* gimplify.c (gimplify_va_arg_expr): Handle &va_list.
* c-common.c (build_va_arg): Handle more strict
targetm.canonical_va_list_type. Replace first argument type error with
assert.
* c-c++-common/va-arg-va-list-type.c: New test.
From-SVN: r240072
Ian Lance Taylor [Sat, 10 Sep 2016 13:14:00 +0000 (13:14 +0000)]
libgo: update to Go 1.7.1 release
Reviewed-on: https://go-review.googlesource.com/29012
From-SVN: r240071
Ian Lance Taylor [Sat, 10 Sep 2016 12:21:59 +0000 (12:21 +0000)]
runtime/internal/atomic: new package, API copied from Go 1.7
Copy over the Go 1.7 runtime/internal/atomic package, but implement the
functions in C using __atomic functions rather than using the
processor-specific assembler code.
Reviewed-on: https://go-review.googlesource.com/29010
From-SVN: r240070
Ian Lance Taylor [Sat, 10 Sep 2016 10:39:22 +0000 (10:39 +0000)]
go-backend.c (go_trampoline_info): Remove.
* go-backend.c (go_trampoline_info): Remove.
* go-c.h (go_trampoline_info): Don't declare.
From-SVN: r240069
Mark Wielaard [Sat, 10 Sep 2016 10:37:35 +0000 (10:37 +0000)]
Fix -Wshadow warning in libiberty/cp-demangle.c
valgrind contains a copy of the libiberty demangler which gets compiled
with -Wshadow. That shows the following warning:
cp-demangle.c: In function ‘d_substitution’:
cp-demangle.c:3772:35: warning: declaration of ‘c’ shadows a previous local
struct demangle_component *c;
^
cp-demangle.c:3708:8: note: shadowed declaration is here
char c;
^
Fix that by renaming the struct demangle_component variable to dc.
libiberty/ChangeLog:
* cp-demangle.c (d_substitution): Change struct demangle_component
variable name from c to dc.
From-SVN: r240068
Ian Lance Taylor [Sat, 10 Sep 2016 10:35:19 +0000 (10:35 +0000)]
compiler: code cleanup (unused header file)
Remove inclusion of simple-ojbject.h (no longer needed);
adjust comments.
Reviewed-on: https://go-review.googlesource.com/28856
From-SVN: r240067
Peter Bergner [Sat, 10 Sep 2016 01:36:33 +0000 (20:36 -0500)]
re PR rtl-optimization/77289 (ICE in extract_constrain_insn, at recog.c:2212 on powerpc64)
gcc/
PR rtl-optimization/77289
* lra-constraints.c (get_final_hard_regno): Add support for non hard
register numbers. Remove support for subregs.
(get_hard_regno): Use SUBREG_P. Don't call get_final_hard_regno().
(get_reg_class): Delete removed get_final_hard_regno() argument.
(uses_hard_regs_p): Call get_final_hard_regno().
gcc/testsuite/
PR rtl-optimization/77289
* gcc.target/powerpc/pr77289.c: New test.
From-SVN: r240065
Steven G. Kargl [Sat, 10 Sep 2016 00:59:33 +0000 (00:59 +0000)]
Commit the ChangeLog entry for revision 240063.
From-SVN: r240064
Steven G. Kargl [Sat, 10 Sep 2016 00:52:45 +0000 (00:52 +0000)]
re PR fortran/77420 (gfortran and equivalence produces internal compiler error)
2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77420
* module.c (load_equiv): If the current namespace has a list of
equivalence statements, initialize duplicate to false and then
look for duplicates; otherwise, initialize it to true.
2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77420
* gfortran.dg/pr77420.f90: New test.
From-SVN: r240063
GCC Administrator [Sat, 10 Sep 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r240062
Martin Sebor [Fri, 9 Sep 2016 23:12:10 +0000 (23:12 +0000)]
PR c/77520 - wrong value for extended ASCII characters in -Wformat message
PR c/77520 - wrong value for extended ASCII characters in -Wformat message
PR c/77521 - %qc format directive should quote non-printable characters
gcc/c-family/ChangeLog:
PR c/77520
PR c/77521
* c-format.c (argument_parser::find_format_char_info): Use %qc
format directive unconditionally.
gcc/ChangeLog:
PR c/77520
PR c/77521
* pretty-print.c (pp_quoted_string): New function.
(pp_format): Call it for %c and %s directives.
gcc/testsuite/ChangeLog:
PR c/77520
PR c/77521
* gcc.dg/pr77520.c: New test.
* gcc.dg/pr77521.c: New test.
From-SVN: r240059
Bernd Edlinger [Fri, 9 Sep 2016 23:08:54 +0000 (23:08 +0000)]
tm.texi.in (INITIAL_FRAME_POINTER_OFFSET): Remove.
2016-09-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
* doc/tm.texi.in (INITIAL_FRAME_POINTER_OFFSET): Remove.
(ELIMINABLE_REGS, TARGET_CAN_ELIMINATE,
INITIAL_ELIMINATION_OFFSET) : Update documentation.
* target.def (frame_pointer_required, can_eliminate): Likewise.
* doc/tm.texi: Regenerated.
* builtins.c (expand_builtin_setjmp_receiver): Remove #ifdef
ELIMINABLE_REGS.
* df-scan.c (df_hard_reg_init): Likewise.
* ira.c (ira_setup_eliminable_regset): Likewise.
* lra-eliminations.c (reg_eliminate_1, (update_reg_eliminate,
init_elim_table): Likewise.
* reload1.c (reg_eliminate_1, verify_initial_elim_offsets,
set_initial_elim_offsets, update_eliminables,
init_elim_table): Likewise.
* rtlanal.c (get_initial_register_offset): Likewise.
* config/ft32/ft32.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
* config/m32r/m32r.h (INITIAL_FRAME_POINTER_OFFSET): Likewise.
* config/moxie/moxie.h (INITIAL_FRAME_POINTER_OFFSET): Likewise.
* config/vax/vax.h (INITIAL_FRAME_POINTER_OFFSET): Likewise.
* config/fr30/fr30.h: Fix comment.
* config/frv/frv.c: Likewise.
* config/frv/frv.h: Likewise.
* config/ft32/ft32.h: Likewise.
* config/visium/visium.h: Likewise.
* config/pa/pa64-linux.h: Likewise.
* config/v850/v850.h: Likewise.
* config/cris/cris.c: Likewise.
* config/ia64/ia64.h: Likewise.
* config/moxie/moxie.h: Likewise.
* config/m32r/m32r.h: Likewise.
From-SVN: r240058
Alexander Ivchenko [Fri, 9 Sep 2016 21:38:06 +0000 (21:38 +0000)]
re PR target/77267 (MPX does not work in a presence of "-Wl,-as-needed" option (Ubuntu default))
Fix PR target/77267
2016-09-10 Alexander Ivchenko <alexander.ivchenko@intel.com>
PR target/77267
* config.in: Regenerate.
* config/i386/linux-common.h (MPX_LD_AS_NEEDED_GUARD_PUSH):
New macro.
(MPX_LD_AS_NEEDED_GUARD_PUSH): Ditto.
(LIBMPXWRAPPERS_SPEC): Remove "--no-whole-archive" from
static-libmpxwrappers case.
(LIBMPX_SPEC): Add guards with MPX_LD_AS_NEEDED_GUARD_PUSH and
MPX_LD_AS_NEEDED_GUARD_POP.
* configure: Regenerate.
* configure.ac (HAVE_LD_PUSHPOPSTATE_SUPPORT): New variable.
defined if linker support "--push-state"/"--pop-state".
From-SVN: r240057
Jason Merrill [Fri, 9 Sep 2016 21:22:15 +0000 (17:22 -0400)]
Implement P0035R4, C++17 new of over-aligned types.
gcc/cp/
* cp-tree.h (enum cp_tree_index): Add CPTI_ALIGN_TYPE.
(align_type_node): New macro.
* call.c (build_operator_new_call): Handle C++17 aligned new.
(second_parm_is_size_t, build_op_delete_call): Likewise.
(non_placement_deallocation_fn_p): Likewise. Rename to
usual_deallocation_fn_p.
(aligned_allocation_fn_p, aligned_deallocation_fn_p): New.
* decl.c (cxx_init_decl_processing): Add aligned new support.
* init.c (type_has_new_extended_alignment): New.
(build_new_1): Handle aligned new.
* tree.c (vec_copy_and_insert): New.
gcc/c-family/
* c.opt: Add -faligned-new and -Waligned-new.
* c-common.c (max_align_t_align): Split out from...
(cxx_fundamental_alignment_p): ...here.
* c-common.h: Declare it.
* c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
libstdc++-v3/
* libsupc++/new: Declare aligned new/delete operators.
* config/abi/pre/gnu.ver: Export them.
* configure.ac: Check for aligned_alloc, posix_memalign, memalign,
_aligned_malloc.
* libsupc++/new_opa.cc: New.
* libsupc++/new_opant.cc: New.
* libsupc++/new_opva.cc: New.
* libsupc++/new_opva.cc: New.
* libsupc++/del_opa.cc: New.
* libsupc++/del_opant.cc: New.
* libsupc++/del_opsa.cc: New.
* libsupc++/del_opva.cc: New.
* libsupc++/del_opvant.cc: New.
* libsupc++/del_opvsa.cc: New.
* libsupc++/Makefile.am: Build them.
From-SVN: r240056
Jason Merrill [Fri, 9 Sep 2016 21:20:55 +0000 (17:20 -0400)]
.gitignore: Ignore in-tree prerequisites.
From-SVN: r240055
Ian Lance Taylor [Fri, 9 Sep 2016 19:39:36 +0000 (19:39 +0000)]
compiler: increase buffer size to avoid -Wformat-length warning
GCC will soon get a new -Wformat-length option as described in
https://gcc.gnu.org/PR49905. This change makes a buffer larger to avoid
a warning.
Reviewed-on: https://go-review.googlesource.com/28915
Also revert ChangeLog entry in gcc/go/ChangeLog--changes to
gcc/go/gofrontend do not get ChangeLog entries.
From-SVN: r240054
Than McIntosh [Fri, 9 Sep 2016 18:27:42 +0000 (18:27 +0000)]
compiler: add abstraction layer for sha1 checksums.
Add new interface for the front end code to use when computing SHA1
checksums; the intent is to allow the different implementation in
different back ends.
No change in functionality for gccgo; this is an enabling change to
permit the front end to be used with other back ends (e.g. LLVM).
Reviewed-on: https://go-review.googlesource.com/28833
* go-sha1.cc: New file.
* Make-lang.in (GO_OBJS): Add go/go-sha1.o.
(CFLAGS-go/go-sha1.o): New variable.
From-SVN: r240053
Steven G. Kargl [Fri, 9 Sep 2016 18:04:23 +0000 (18:04 +0000)]
re PR fortran/77506 (F2008 Standard does not allow CHARACTER(LEN=*) in array constructor)
2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77506
* array.c (gfc_match_array_constructor): CHARACTER(len=*) cannot
appear in an array constructor.
2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77506
* gfortran.dg/pr77506.f90: New test.
From-SVN: r240052