Commit Graph

147701 Commits

Author SHA1 Message Date
Patrick Palka 1addb9e62b re PR tree-optimization/72810 (error: type mismatch for case label in switch statement)
Fix PR tree-optimization/72810

gcc/ChangeLog:

	PR tree-optimization/72810
	* tree-vrp.c (simplify_switch_using_ranges): Avoid changing
	the type of the case labels when truncating.

gcc/testsuite/ChangeLog:

	PR tree-optimization/72810
	* gcc.dg/tree-ssa/vrp110.c: New test.

From-SVN: r239174
2016-08-05 17:21:00 +00:00
James Greenhalgh 1b62ed4f26 [AArch64] Handle HFAs of float16 types properly
Fix PR Target/72819.

gcc/

	PR Target/72819
	* config/aarch64/aarch64.h (aarch64_fp16_type_node): Declare.
	(aarch64_fp16_ptr_type_node): Likewise.
	* config/aarch64/aarch64-simd-builtins.c
	(aarch64_fp16_ptr_type_node): Define.
	(aarch64_init_fp16_types): New, refactored out of...
	(aarch64_init_builtins): ...here, update to call
	aarch64_init_fp16_types.
	* config/aarch64/aarch64.c (aarch64_gimplify_va_arg_expr): Handle
	HFmode.
	(aapcs_vfp_sub_candidate): Likewise.

gcc/testsuite/

	PR Target/72819
	* gcc.target/aarch64/aapcs64/abitest-common.h: Define half-precision
	registers.
	* gcc.target/aarch64/aapcs64/abitest.S (dumpregs): Add assembly for
	saving the half-precision registers.
	* gcc.target/aarch64/aapcs64/func-ret-1.c: Test that an __fp16
	value is returned in h0.
	* gcc.target/aarch64/aapcs64/test_2.c: Check that __FP16 arguments
	are passed in FP/SIMD registers.
	* gcc.target/aarch64/aapcs64/test_27.c: New, test that __fp16 HFA
	passing works corrcetly.
	* gcc.target/aarch64/aapcs64/type-def.h (hfa_f16x1_t): New.
	(hfa_f16x2_t): Likewise.
	(hfa_f16x3_t): Likewise.
	* gcc.target/aarch64/aapcs64/va_arg-1.c: Check that __fp16 values
	are promoted to double and passed in a double register.
	* gcc.target/aarch64/aapcs64/va_arg-2.c: Check that __fp16 values
	are promoted to double and stacked.
	* gcc.target/aarch64/aapcs64/va_arg-4.c: Check stacking of HFA of
	__fp16 data types.
	* gcc.target/aarch64/aapcs64/va_arg-5.c: Likewise.
	* gcc.target/aarch64/aapcs64/va_arg-16.c: New, check HFAs of
	__fp16 first get passed in FP/SIMD registers, then stacked.

From-SVN: r239173
2016-08-05 16:08:24 +00:00
Jonathan Wakely a0b1bf2181 Correct status of __cpp_lib_enable_shared_from_this
* doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
	* doc/html/manual/status.html: Regenerate.

From-SVN: r239171
2016-08-05 14:57:30 +01:00
Jonathan Wakely 5f6acdfb0b Implement C++17 rounding functions for std::chrono (P0092R1)
* include/std/chrono (floor, ceil, round, abs): New for C++17.
	* testsuite/20_util/duration_cast/rounding.cc: New test.
	* testsuite/20_util/time_point_cast/rounding.cc: New test.
	* doc/xml/manual/status_cxx2017.xml: Update status table.
	* doc/html/manual/status.html: Regenerate.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
	dg-error lineno.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
	* testsuite/20_util/duration/literals/range.cc: Likewise.

From-SVN: r239170
2016-08-05 14:52:59 +01:00
Martin Liska 24bc5921a8 gcov tool: Implement Hawick's algorithm for cycle detection,
Joshua Cranmer  <Pidgeot18@gmail.com>

	* gcov.c (line_t::has_block): New function.
	(enum loop_type): New enum.
	(handle_cycle): New function.
	(unblock): Likewise.
	(circuit): Likewise.
	(get_cycles_count): Likewise.
	(accumulate_line_counts): Use new loop detection algorithm.

From-SVN: r239169
2016-08-05 13:50:49 +00:00
Martin Liska 4457451f3d gcov: rename line_next to next_file_fn in function_info
* gcov.c (output_intermediate_file): Rename
	function_info::line_next to next_file_fn.
	(process_file): Likewise.
	(read_graph_file): Likewise.
	(accumulate_line_counts): Likewise.
	(output_lines): Likewise.

From-SVN: r239168
2016-08-05 13:50:02 +00:00
Nathan Sidwell 4228ca1962 re PR c++/68724 (ice in unify, at cp/pt.c:19902)
PR c++/68724
	* pt.c (unify): TRAIT_EXPR is an expr.

	PR c++/68724
	* g++.dg/cpp0x/pr68724.C: New.

From-SVN: r239167
2016-08-05 12:21:46 +00:00
Jonathan Wakely 98e6e66233 Use __invoke in std::function internals
* include/std/functional (__callable_functor): Remove.
	(_Function_handler::_M_invoke): Use __invoke instead of
	__callable_functor or mem_fn.
	(function::_Callable): Use lvalue in result_of expression.
	(function): Remove TODO comments about allocators.
	* testsuite/20_util/function/cons/refqual.cc: New test.

From-SVN: r239166
2016-08-05 10:00:34 +01:00
Richard Biener db7c335e16 ivopt_5.c: Make robust against edge swapping.
2016-08-05  Richard Biener  <rguenther@suse.de>

	* gcc.dg/tree-ssa/ivopt_5.c: Make robust against edge swapping.

From-SVN: r239165
2016-08-05 08:52:22 +00:00
Richard Biener 6c1d60a219 tree-ssa-threadupdate.c (thread_block_1): Remove unnecessary restriction on threading to a loop header.
2016-08-05  Richard Biener  <rguenther@suse.de>

	* tree-ssa-threadupdate.c (thread_block_1): Remove unnecessary
	restriction on threading to a loop header.

From-SVN: r239164
2016-08-05 08:00:00 +00:00
Richard Biener ee2810081e tree-cfgcleanup.c (tree_forwarder_block_p): Use bb_loop_header_p.
2016-08-05  Richard Biener  <rguenther@suse.de>

	* tree-cfgcleanup.c (tree_forwarder_block_p): Use bb_loop_header_p.
	* cfghooks.c (force_nonfallthru): If we ended up splitting a latch
	adjust loop info accordingly.

From-SVN: r239163
2016-08-05 07:41:45 +00:00
Kugan Vivekanandarajah 343092cfa2 tree-vrp.c (extract_range_basic): Check cfun->after_inlining before folding call to __builtin_constant_p with...
gcc/ChangeLog:

2016-08-05  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* tree-vrp.c (extract_range_basic): Check cfun->after_inlining
	before folding call to __builtin_constant_p with parameters to false.

From-SVN: r239162
2016-08-05 02:47:27 +00:00
Alan Modra 7ffedfee02 [RS6000] rs6000_preferred_reload_class
* config/rs6000/rs6000.c (rs6000_preferred_reload_class): Delete
	code accidentally committed 2016-05-02 providing class when given
	NO_REGS.

From-SVN: r239161
2016-08-05 10:59:05 +09:30
GCC Administrator eedd464b2c Daily bump.
From-SVN: r239160
2016-08-05 00:16:15 +00:00
Patrick Palka 48abe92225 Teach VRP to truncate the case ranges of a switch
gcc/ChangeLog:

	* tree-vrp.c (simplify_switch_using_ranges): Try to truncate
	the case label ranges that partially overlap with OP's value
	range.

gcc/testsuite/ChangeLog:

	* gcc.dg/tree-ssa/vrp107.c: New test.
	* gcc.dg/tree-ssa/vrp108.c: New test.
	* gcc.dg/tree-ssa/vrp109.c: New test.

From-SVN: r239157
2016-08-05 00:07:16 +00:00
Uros Bizjak 383321ecc9 re PR target/72805 (AVX512: invalid code generation involving masks)
PR target/72805
	* config/i386/avx512fintrin.h (_mm512_cmp_epi32_mask) [!__OPTIMIZE__]:
	Cast builtin function result to __mmask16 instead of __mmask8.
	(_mm512_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto.
	(_mm512_mask_cmp_epi32_mask) [!__OPTIMIZE__]: Ditto.
	(_mm512_mask_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto.

From-SVN: r239152
2016-08-04 23:14:39 +02:00
David Malcolm d4f7837c5a selftest.h: Add ASSERT_TRUE_AT and ASSERT_FALSE_AT
gcc/ChangeLog:
	* selftest.h (ASSERT_TRUE): Reimplement in terms of...
	(ASSERT_TRUE_AT): New macro.
	(ASSERT_FALSE): Reimplement in terms of...
	(ASSERT_FALSE_AT): New macro.
	(ASSERT_STREQ_AT): Fix typo in comment.

From-SVN: r239151
2016-08-04 21:12:52 +00:00
Prathamesh Kulkarni f6cdf42f64 pr70920-4.c: Move dg-require-effective-target before dg-options.
2016-08-04  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

testsuite/
	* gcc.dg/pr70920-4.c: Move dg-require-effective-target before
	dg-options.

From-SVN: r239150
2016-08-04 20:51:32 +00:00
Prathamesh Kulkarni 33a9c60943 pr71078-1.c: Remove double and long double test-cases.
2016-08-04  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

testsuite/
	* gcc.dg/tree-ssa/pr71078-1.c: Remove double and long double
	test-cases.
	* gcc.dg/tree-ssa/pr71078-1-double.c: New test-case.
	* gcc.dg/tree-ssa/pr71078-1-long-double.c: Likewise.
	* gcc.dg/tree-ssa/pr71078-2.c: Remove double and long double
	test-cases.
	* gcc.dg/tree-ssa/pr71078-2-double.c: New test-case.
	* gcc.dg/tree-ssa/pr71078-2-long-double.c: Likewise.
	* gcc.dg/tree-ssa/pr71078-3.c: Add require-effective-check for
	large_double.

From-SVN: r239149
2016-08-04 20:37:51 +00:00
Paolo Carlini 4473482d5b re PR c++/72800 (ICE on invalid C++14 code with initialized lambda capture: tree check: expected class ‘type’, have ‘exceptional’ (error_mark) in add_capture, at cp/lambda.c:505)
/cp
2016-08-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/72800
	* lambda.c (add_capture): Check lambda_capture_field_type return
	value for error_mark_node.

/testsuite
2016-08-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/72800
	* g++.dg/cpp1y/lambda-ice1.C: New.

From-SVN: r239148
2016-08-04 19:22:58 +00:00
Patrick Palka 08156df50a Fix ICE on invalid variable template instantiation (PR c++/72759)
gcc/cp/ChangeLog:

	PR c++/72759
	* pt.c (tsubst_qualified_id): Return error_mark_node if
	template_args is error_mark_node.

gcc/testsuite/ChangeLog:

	PR c++/72759
	* g++.dg/cpp1y/pr72759.C: New test.

From-SVN: r239147
2016-08-04 19:14:32 +00:00
Patrick Palka 938da3a58b Designate the widest case label to be the default label
gcc/ChangeLog:

	* gimple.c (preprocess_case_label_vec_for_gimple): When the case
	labels are exhaustive, designate the label with the widest
	range to be the default label.

gcc/testsuite/ChangeLog:

	* gcc.dg/switch-10.c: New test.

From-SVN: r239146
2016-08-04 18:11:08 +00:00
Jonathan Wakely 42183d034d Define std::is_callable and std::is_nothrow_callable
* doc/xml/manual/status_cxx2017.xml: Update status table.
	* include/std/functional (__inv_unwrap): Move to <type_traits>.
	(__invoke_impl): Remove exception specifications.
	(__invoke, invoke): Add exception specifications using
	__is_nothrow_callable.
	* include/std/type_traits (__inv_unwrap): Move from <functional>.
	(__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
	(__is_callable, __is_nothrow_callable): New traits.
	(is_callable, is_callable_v): New C++17 traits.
	(is_nothrow_callable, is_nothrow_callable_v): Likewise.
	* testsuite/20_util/is_callable/requirements/
	explicit_instantiation.cc: New test.
	* testsuite/20_util/is_callable/requirements/
	explicit_instantiation_ext.cc: New test.
	* testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
	* testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
	test.
	* testsuite/20_util/is_callable/value.cc: New test.
	* testsuite/20_util/is_callable/value_ext.cc: New test.
	* testsuite/20_util/is_nothrow_callable/requirements/
	explicit_instantiation.cc: New test.
	* testsuite/20_util/is_nothrow_callable/requirements/
	explicit_instantiation_ext.cc: New test.
	* testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
	New test.
	* testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
	New test.
	* testsuite/20_util/is_nothrow_callable/value.cc: New test.
	* testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.

From-SVN: r239145
2016-08-04 19:02:56 +01:00
Ian Lance Taylor e91f59b919 runtime: fix incorrectly commented out code in heapdump.c
Reviewed-on: https://go-review.googlesource.com/25490

From-SVN: r239144
2016-08-04 17:21:23 +00:00
Marcel Böhme 1841e25ca5 re PR c++/71696 (Libiberty Demangler segfaults (6))
2016-08-04  Marcel Böhme  <boehme.marcel@gmail.com>

	PR c++/71696
	* cplus-dem.c: Prevent infinite recursion when there is a cycle
	in the referencing of remembered mangled types.
	(work_stuff): New stack to keep track of the remembered mangled
	types that are currently being processed.
	(push_processed_type): New method to push currently processed
	remembered type onto the stack.
	(pop_processed_type): New method to pop currently processed
	remembered type from the stack.
	(work_stuff_copy_to_from): Copy values of new variables.
	(delete_non_B_K_work_stuff): Free stack memory.
	(demangle_args): Push/Pop currently processed remembered type.
	(do_type): Do not demangle a cyclic reference and push/pop
	referenced remembered type.

From-SVN: r239143
2016-08-04 10:53:18 -06:00
James Greenhalgh da84183c71 [Patch obvious testsuite] Remove duplicate body from pr70903.c
* gcc.c-torture/execute/pr70903.c: Remove duplicate body.

From-SVN: r239142
2016-08-04 16:48:34 +00:00
Ian Lance Taylor aa8a418bbc text/template: reduce maxExecDepth for gccgo
When using gccgo on systems without full support for split stacks a
    recursive template can overrun the available stack space.  Reduce the
    limit from 100000 to 10000 to make this less likely.  It's still high
    enough that real uses will work.
    
    Reviewed-on: https://go-review.googlesource.com/25467

From-SVN: r239141
2016-08-04 16:48:28 +00:00
Ian Lance Taylor 7a62db9787 compiler: include "go-system.h" in escape.cc
Patch from Rainer Orth.
    
    Reviewed-on: https://go-review.googlesource.com/25466

From-SVN: r239140
2016-08-04 16:23:09 +00:00
Jason Merrill b9dc9ef63f PR c++/72415 - member template with fold-expression constraint
* pt.c (tsubst_pack_expansion): Pull a single pack expansion out
	of the TREE_VEC.

From-SVN: r239138
2016-08-04 12:06:22 -04:00
Jason Merrill 6a7b92036b Rename TYPE_ANONYMOUS_P to TYPE_UNNAMED_P.
* cp-tree.h (TYPE_UNNAMED_P): Rename from TYPE_ANONYMOUS_P.
	(TYPE_WAS_UNNAMED): Rename from TYPE_WAS_ANONYMOUS.
	* class.c, decl.c, decl2.c, error.c, lambda.c, mangle.c,
	name-lookup.c, parser.c, pt.c, semantics.c, tree.c: Adjust.

From-SVN: r239137
2016-08-04 12:06:17 -04:00
Jason Merrill 99676625e6 PR c++/72796 - wrong resolution of scoped method call.
* typeck.c (finish_class_member_access_expr): Avoid stripping
	SCOPE_REF to dependent base.

From-SVN: r239136
2016-08-04 12:06:09 -04:00
Andrew Pinski c3f2032729 aarch64.c (thunderx_vector_cost): New variable.
2016-08-04  Andrew Pinski  <apinski@cavium.com>

        * config/aarch64/aarch64.c (thunderx_vector_cost): New variable.
        (thunderx_tunings): Use thunderx_vector_cost instead of
        generic_vector_cost.

From-SVN: r239135
2016-08-04 09:00:24 -07:00
Martin Liska 176bf572a8 Fix GNU coding style in gcov.c
* gcov.c (main): Fix GNU coding style.
	(output_intermediate_file): Likewise.
	(process_file): Likewise.
	(generate_results): Likewise.
	(release_structures): Likewise.
	(create_file_names): Likewise.
	(find_source): Likewise.
	(read_graph_file): Likewise.
	(find_exception_blocks): Likewise.
	(canonicalize_name): Likewise.
	(make_gcov_file_name): Likewise.
	(mangle_name): Likewise.
	(accumulate_line_counts): Likewise.
	(output_branch_count): Likewise.
	(read_line): Likewise.

From-SVN: r239134
2016-08-04 15:05:35 +00:00
Thomas Schwinge ae9281fc64 Rework C/C++ OpenACC routine parsing
gcc/c/
	* c-parser.c (struct oacc_routine_data): Add error_seen and
	fndecl_seen members.
	(c_finish_oacc_routine): Use these.
	(c_parser_declaration_or_fndef): Adjust.
	(c_parser_oacc_routine): Likewise.  Support more C language
	constructs, and improve diagnostics.  Move pragma context
	checking...
	(c_parser_pragma): ... here.
	gcc/cp/
	* parser.c (cp_ensure_no_oacc_routine): Improve diagnostics.
	(cp_parser_late_parsing_cilk_simd_fn_info): Fix diagnostics.
	(cp_parser_late_parsing_oacc_routine, cp_finalize_oacc_routine):
	Simplify code, and improve diagnostics.
	(cp_parser_oacc_routine): Likewise.  Move pragma context
	checking...
	(cp_parser_pragma): ... here.
	gcc/testsuite/
	* c-c++-common/goacc/routine-5.c: Update.

From-SVN: r239128
2016-08-04 15:35:30 +02:00
Thomas Schwinge 0b212d8c86 C/C++: Simplify handling of location information for OpenACC routine directives
gcc/c/
	* c-parser.c (struct oacc_routine_data): New.
	(c_parser_declaration_or_fndef, c_parser_oacc_routine): Use it.
	Simplify code.
	(c_finish_oacc_routine): Likewise.  Don't attach clauses to "omp
	declare target" attribute.
	gcc/cp/
	* parser.h (struct cp_omp_declare_simd_data): New.
	(struct cp_parser): Use it for oacc_routine member.
	* parser.c (cp_ensure_no_oacc_routine, cp_parser_oacc_routine)
	(cp_parser_late_parsing_oacc_routine, cp_finalize_oacc_routine):
	Use it.  Simplify code.
	(cp_parser_new): Initialize all members pointing to special
	parsing data structures.
	(cp_parser_cilk_simd_fn_vector_attrs): Initialize
	parser->cilk_simd_fn_info->clauses.
	(cp_parser_omp_declare_simd): Initialize
	parser->omp_declare_simd->clauses.
	(cp_parser_late_parsing_omp_declare_simd): Simplify code.

From-SVN: r239127
2016-08-04 15:35:19 +02:00
Thomas Schwinge bbc79c0e9e C++ OpenACC routine directive testing: templated, and "auto", trailing return type syntax
libgomp/
	* testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
	* testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
	* testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
	Likewise.
	* testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
	* testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
	Likewise.
	* testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.

From-SVN: r239126
2016-08-04 15:35:10 +02:00
Thomas Schwinge 9ef64248fe Make libgomp.oacc-c-c++-common/crash-1.c a "link" test, and don't hardcode -O0
libgomp/
	* testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
	test, and don't hardcode -O0.

From-SVN: r239125
2016-08-04 15:34:57 +02:00
Jonathan Wakely 246c618e71 Update C++17 library implementation status table
* doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
	* doc/html/manual/status.html: Regenerate.

From-SVN: r239124
2016-08-04 14:33:02 +01:00
Bernd Edlinger 8d8e740c1c 016-08-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR rtl-optimization/71779
        * emit-rtl.c (set_reg_attrs_from_value): Only propagate REG_POINTER,
        if the value was sign-extended according to POINTERS_EXTEND_UNSIGNED
        or if it was truncated.

From-SVN: r239123
2016-08-04 13:23:36 +00:00
Bernd Edlinger 086ad22e0e re PR target/70903 (wrong code with bfi @ aarch64 with -Os)
2016-08-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR rtl-optimization/70903
        * cse.c (cse_insn): If DEST is a paradoxical SUBREG, don't record DEST.

testsuite:
2016-08-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR rtl-optimization/70903
        * gcc.c-torture/execute/pr70903.c: New test.

From-SVN: r239122
2016-08-04 13:20:57 +00:00
Jonathan Wakely 9a8e528cf1 Define std::enable_shared_from_this::weak_from_this
* testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
	effective target not dg-options. Move check for feature-test macro to:
	* testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
	New test.

From-SVN: r239121
2016-08-04 13:33:10 +01:00
Jonathan Wakely 7d2035fafe Simplify std::__invoke_impl definitions
* include/std/functional (_Unwrap): Rename to __inv_unwrap.
	(__invfwd): Adjust.
	(__invoke_impl): Remove unused template parameters.
	* testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
	parameter.
	* testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
	and test __invoke extension for C++11.

From-SVN: r239120
2016-08-04 12:09:29 +01:00
Martin Liska 6805e400e9 Use TESTING_IN_BUILD_TREE in params.exp
* gcc.dg/params/params.exp: Replace file exists with
	TESTING_IN_BUILD_TREE.

From-SVN: r239119
2016-08-04 11:06:37 +00:00
Kugan Vivekanandarajah 231b116970 tree-inline.c (remap_ssa_name): Check for POINTER_TYPE_P before accessing SSA_NAME_PTR_INFO.
gcc/ChangeLog:

2016-08-04  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* tree-inline.c (remap_ssa_name): Check for POINTER_TYPE_P before
	accessing SSA_NAME_PTR_INFO.

From-SVN: r239118
2016-08-04 09:15:03 +00:00
Georg-Johann Lay 90b1c81d64 re PR target/70677 (Suboptimal cond on AVR: unneeded stack frame)
PR 70677
	* common/config/avr/avr-common.c (avr_option_optimization_table)
	[OPT_LEVELS_ALL]: Turn off -fcaller-saves.

From-SVN: r239117
2016-08-04 07:52:38 +00:00
Georg-Johann Lay e7ff6a46c9 re PR target/55181 (Expensive shift loop where a bit-testing instruction could be used)
PR 55181
	* config/avr/avr.md: New pattern to work around do_store_flag
	generating shift instructions for bit extractions.

From-SVN: r239116
2016-08-04 07:50:53 +00:00
Marek Polacek a00084346a re PR c++/70229 (error: constexpr constructor does not have empty body)
PR c++/70229
	* constexpr.c (check_constexpr_ctor_body_1): Allow typedef
	declarations.

	* g++.dg/cpp0x/constexpr-ctor19.C: New test.

From-SVN: r239115
2016-08-04 07:47:50 +00:00
Richard Biener fb46286e8d re PR rtl-optimization/71984 (wrong code with -O -mavx512cd)
2016-08-04  Richard Biener  <rguenther@suse.de>

	PR middle-end/71984
	* gcc.dg/torture/pr71984.c: Guard correctness check for
	little-endian.

From-SVN: r239114
2016-08-04 07:02:47 +00:00
Kugan Vivekanandarajah b29fcf3b64 tree-vrp.c (set_value_range): Use vrp_equiv_obstack with BITMAP_ALLOC.
gcc/ChangeLog:

2016-08-04  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* tree-vrp.c (set_value_range): Use vrp_equiv_obstack with
	BITMAP_ALLOC.
	(add_equivalence): Likewise.
	(get_value_range): Allocate value range with vrp_value_range_pool.
	(vrp_initialize): Initialize vrp_equiv_obstack for equiv allocation.
	(vrp_finalize): Relase vrp_equiv_obstack and vrp_value_range_pool.

From-SVN: r239113
2016-08-04 04:20:01 +00:00
GCC Administrator 5c5ad8cd63 Daily bump.
From-SVN: r239112
2016-08-04 00:16:13 +00:00