Commit Graph

148319 Commits

Author SHA1 Message Date
Louis Krupp
902d624f45 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
2016-09-15 23:54:40 +00:00
Jason Merrill
931388ce2d 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
2016-09-15 15:48:18 -04:00
Bin Cheng
7e16ce79a4 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
2016-09-15 16:31:35 +00:00
Richard Biener
7c05f5c46d 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
2016-09-15 12:35:13 +00:00
Jakub Jelinek
63c879fca4 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
2016-09-15 14:27:35 +02:00
Jakub Jelinek
76ff80fb8b 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
2016-09-15 14:26:39 +02:00
Jonathan Wakely
1b75c93601 Editorial fixes to libstdc++ debug mode docs
* doc/xml/manual/debug_mode.xml: Minor editorial fixes.
	* doc/html/*: Regenerate.

From-SVN: r240161
2016-09-15 11:30:58 +01:00
Jonathan Wakely
700e2faaf5 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
2016-09-15 11:30:52 +01:00
Jonathan Wakely
7a461e274c Reformat libstdc++-v3/ChangeLog to fit in 80 columns
From-SVN: r240159
2016-09-15 11:26:03 +01:00
Richard Biener
7180b1a686 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
2016-09-15 10:22:32 +00:00
Jonathan Wakely
0273c10e7b 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
2016-09-15 11:18:38 +01:00
Chung-Lin Tang
5560d026a6 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
2016-09-15 09:46:36 +00:00
Richard Biener
5334f73312 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
2016-09-15 09:24:10 +00:00
Richard Biener
d08615f28f 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
2016-09-15 07:17:45 +00:00
Kugan Vivekanandarajah
46aa019a01 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
2016-09-15 02:03:51 +00:00
GCC Administrator
7332afeab4 Daily bump.
From-SVN: r240151
2016-09-15 00:16:17 +00:00
Jakub Jelinek
28ca05f00a 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
2016-09-14 23:55:10 +02:00
Ian Lance Taylor
f6c7d678f8 libgo: fix typo in configure.ac (PCQUANTUm -> PCQUANTUM)
Reviewed-on: https://go-review.googlesource.com/29154

From-SVN: r240146
2016-09-14 20:52:51 +00:00
Matthew Fortune
38e9658c11 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
2016-09-14 19:59:59 +00:00
Bernd Edlinger
02205aa495 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
2016-09-14 18:04:39 +00:00
Marek Polacek
20a1e5b8c8 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
2016-09-14 17:46:59 +00:00
Pat Haugen
f335184d24 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
2016-09-14 17:04:18 +00:00
Jason Merrill
387113816f 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
2016-09-14 12:18:10 -04:00
Nathan Sidwell
0761f6bfb3 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
2016-09-14 16:13:52 +00:00
Marek Polacek
e51fbec3ff 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
2016-09-14 15:05:00 +00:00
Christophe Lyon
13cddbc115 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
2016-09-14 15:37:23 +02:00
Jim MacArthur
a90638d430 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
2016-09-14 12:13:03 +00:00
Segher Boessenkool
48975b3de6 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
2016-09-14 12:51:43 +02:00
Segher Boessenkool
1a267e530e 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
2016-09-14 12:49:42 +02:00
Segher Boessenkool
794b71a4ee 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
2016-09-14 12:48:00 +02:00
Segher Boessenkool
d81db63616 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
2016-09-14 12:46:12 +02:00
Jakub Jelinek
5ba4a08cc6 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
2016-09-14 11:01:49 +02:00
Bernd Edlinger
130ffea03c 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
2016-09-14 07:18:53 +00:00
GCC Administrator
fb05e304cd Daily bump.
From-SVN: r240127
2016-09-14 00:16:16 +00:00
Bernd Edlinger
1686923c4b 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
2016-09-13 21:25:04 +00:00
Joe Seymour
a713b234ed 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
2016-09-13 16:06:47 -04:00
Ville Voutilainen
8e14a10cab 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
2016-09-13 22:26:02 +03:00
Jakub Jelinek
9952908a4b 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
2016-09-13 21:20:38 +02:00
Jakub Jelinek
63cdb7a08d 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
2016-09-13 21:19:33 +02:00
Jakub Jelinek
ea8661cd47 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
2016-09-13 19:10:39 +02:00
Steven G. Kargl
072eee8f22 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
2016-09-13 17:00:29 +00:00
Tamar Christina
9fd2074dc9 [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
2016-09-13 16:32:23 +00:00
Uros Bizjak
809aff7457 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
2016-09-13 18:29:40 +02:00
David Malcolm
254830bab2 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
2016-09-13 16:08:59 +00:00
Pat Haugen
c77b8713a7 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
2016-09-13 15:58:52 +00:00
Jason Merrill
42763690bd 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
2016-09-13 15:56:03 +00:00
Martin Liska
c8798f2ce1 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
2016-09-13 13:30:13 +00:00
Jason Merrill
9453eee910 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
2016-09-13 09:15:39 -04:00
Marek Polacek
4c13ba175a 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
2016-09-13 10:42:39 +00:00
Maciej W. Rozycki
caa05ce201 * optabs.c (prepare_cmp_insn): Update documentation comment.
From-SVN: r240108
2016-09-13 09:47:10 +00:00