Commit Graph

148251 Commits

Author SHA1 Message Date
Richard Biener
6f651baeb7 re PR tree-optimization/69047 (memcpy is not as optimized as union is)
2016-08-30  Richard Biener  <rguenther@suse.de>

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

From-SVN: r239857
2016-08-30 09:22:17 +00:00
Jakub Jelinek
5116b156b7 re PR tree-optimization/72866 (Compile time hog w/ -O3 (-Ofast))
PR tree-optimization/72866
	* tree-vect-patterns.c (search_type_for_mask): Turn into
	a small wrapper, move all code to ...
	(search_type_for_mask_1): ... this new function.  Add caching
	and adjust recursive calls.

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

From-SVN: r239856
2016-08-30 08:54:02 +02:00
Jakub Jelinek
3754bbfc36 re PR c++/77363 (Missing debug information in DWARF)
PR debug/77363
	* dwarf2out.c (modified_type_die): Use lookup_type_die (type)
	instead of lookup_type_die (type_main_variant (type)) even for array
	types.

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

From-SVN: r239855
2016-08-30 08:46:38 +02:00
Jakub Jelinek
26122e2d8a re PR middle-end/77377 (c-c++-common/pr59037.c ICEs with -fpic -msse on i686)
PR middle-end/77377
	* simplify-rtx.c (avoid_constant_pool_reference): For out of bounds
	constant pool reference return x instead of c.

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

From-SVN: r239854
2016-08-30 08:45:56 +02:00
Jakub Jelinek
ab8348325f re PR debug/77389 (FAIL: g++.dg/debug/dwarf2/template-params-12f.C -std=gnu++11 scan-assembler-times DIE \\\\([^\\n]*\\\\) DW_TAG_template_value_param ...)
PR debug/77389
	* g++.dg/debug/dwarf2/template-params-12f.C: Pass -gno-strict-dwarf
	in dg-options.

From-SVN: r239853
2016-08-30 08:44:43 +02:00
Ian Lance Taylor
2adb671d18 compiler: add -fgo-c-header=FILE to create a C header
The new -fgo-c-header=FILE option will write a C header file defining
    all the struct types and numeric const values in package scope.  This
    will be used when building the Go runtime package (libgo/go/runtime) to
    generate a C header file that may be included by the C code in the C
    runtime package (libgo/runtime).
    
    This will ensure that the Go code and C code are working with the same
    data structures as we convert the runtime from C to Go to upgrade to the
    current GC runtime, notably the concurrent garbage collector.
    
    Reviewed-on: https://go-review.googlesource.com/28000

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

From-SVN: r239852
2016-08-30 03:27:43 +00:00
Segher Boessenkool
0b390d6089 Eradicate MQ some more
Nothing uses MQ anymore, but it still shows up in all the dump files.
This patch removes it from CALL_REALLY_USED_REGISTERS so that that does
not happen anymore (it is still a fixed register, there should be no
functional change).


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

From-SVN: r239851
2016-08-30 04:46:07 +02:00
GCC Administrator
52ba6d1616 Daily bump.
From-SVN: r239850
2016-08-30 00:16:19 +00:00
Steven G. Kargl
bedc9ca797 pr77372.f90: Moved to ...
2016-08-29  Steven G. Kargl  <kargl@gcc.gnu.org>

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

From-SVN: r239847
2016-08-29 23:19:25 +00:00
David Malcolm
cfa435e1e8 input.c: fix the comment for test_make_location_nonpure_range_endpoints
gcc/ChangeLog:
	* input.c
	(selftest::test_make_location_nonpure_range_endpoints): Fix
	header comment.

From-SVN: r239844
2016-08-29 20:52:10 +00:00
David Malcolm
2aa514130a Allow the use of ad-hoc locations for fix-it hints
Currently the fix-it validator rejects ad-hoc locations.
Fix this by calling get_pure_location on the input locations to
add_fixit_insert/replace.  Doing so requires moving get_pure_location
from gcc to libcpp.

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

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

From-SVN: r239843
2016-08-29 20:42:57 +00:00
Michael Meissner
adfa1e6b37 vec-init-4.c: New runtime tests for various vector short/char initializations.
2016-08-29  Michael Meissner  <meissner@linux.vnet.ibm.com>

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

From-SVN: r239837
2016-08-29 19:38:07 +00:00
Nathan Sidwell
d3ca2257cc configure.ac (nvptx-*): Hardwire newlib.
* configure.ac (nvptx-*): Hardwire newlib.
	* configure: Rebuilt.

From-SVN: r239836
2016-08-29 19:09:57 +00:00
Uros Bizjak
414b712949 re PR target/77403 (assemble failure of vinserti64x4 with -masm=intel)
PR target/77403
	* config/i386/sse.md (vec_set_lo_<mode><mask_name>): Fix assembler
	template for intel asm dialect.
	(vec_set_hi_<mode><mask_name>): Ditto.

testsuite/ChangeLog:

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

From-SVN: r239834
2016-08-29 20:58:10 +02:00
Marek Polacek
3d06b6f2fd re PR c/77292 (Spurious warning: logical not is only applied to the left hand side of comparison)
PR c/77292
	* c-common.c (warn_logical_not_parentheses): Don't warn for
	a comparison or a logical operator.

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

From-SVN: r239833
2016-08-29 18:13:13 +00:00
David Malcolm
6ac852d153 selftest.h: mark failure functions with ATTRIBUTE_NORETURN.
gcc/ChangeLog:
	* selftest.h (selftest::fail): Add ATTRIBUTE_NORETURN.
	(selftest::fail_formatted): Likewise.

From-SVN: r239832
2016-08-29 17:23:14 +00:00
David Malcolm
9144eabb89 make_location: ensure end-points are pure locations
gcc/ChangeLog:
	* input.c (make_location): Call get_start and get_finish
	on the endpoints to avoid storing packed ranges or ad-hoc
	ranges in them.
	(selftest::test_make_location_nonpure_range_endpoints): New function.
	(selftest::input_c_tests): Call it.
	* input.h (get_start): New inline function.

From-SVN: r239831
2016-08-29 17:10:23 +00:00
Jason Merrill
328eae1cb4 PR c++/77379 - ABI tag on thunk
* mangle.c (maybe_check_abi_tags): Add version parm, handle thunks.
	(mangle_thunk): Add thunk parameter.
	* method.c (finish_thunk): Pass it.
	* cp-tree.h: Declare it.

From-SVN: r239830
2016-08-29 12:42:57 -04:00
Tom de Vries
34cedad50c Fix assert in build_va_arg, case 2b
2016-08-29  Tom de Vries  <tom@codesourcery.com>

	* c-common.c (build_va_arg): Fix type comparison assert.

From-SVN: r239829
2016-08-29 16:42:16 +00:00
Tom de Vries
f162d71712 Replace error_at with assert in build_va_arg
2016-08-29  Tom de Vries  <tom@codesourcery.com>

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

From-SVN: r239828
2016-08-29 16:41:42 +00:00
Tom de Vries
ba9bbd6f58 Handle errors in both args of va_arg
2016-08-29  Tom de Vries  <tom@codesourcery.com>

	PR c/77398
	* c-common.c (build_va_arg): Add first argument error.  Build va_arg
	with error_mark_node as va_list instead of with illegal va_list.

	* gimplify.c (gimplify_va_arg_expr): Replace first argument type error
	with assert.

	* g++.dg/ext/va-arg1.C: Add error check for illegal first argument.

From-SVN: r239827
2016-08-29 16:41:33 +00:00
Eric Botcazou
6c77dacd1c * Makefile.in (gcov-iov.h): Add dummy recipe.
From-SVN: r239823
2016-08-29 14:43:29 +00:00
Eric Botcazou
d7d80d8fc3 * gcc.dg/ipa/iinline-attr.c: XFAIL on Visium.
From-SVN: r239821
2016-08-29 14:25:45 +00:00
Nathan Sidwell
f2d4d8390e * config/nvptx/nvptx.c: #include tree-vrp.h.
From-SVN: r239820
2016-08-29 12:49:10 +00:00
Fritz Reese
5f88e9b259 Fix, reorganize, and clarify comparisons of anonymous types/components.
2016-08-29  Fritz Reese  <fritzoreese@gmail.com>

	Fix, reorganize, and clarify comparisons of anonymous types/components.

	PR fortran/77327
	* interface.c (is_anonymous_component, is_anonymous_dt): New functions.
	* interface.c (compare_components, gfc_compare_derived_types): Use new
	functions.

	* gfortran.dg/dec_structure_13.f90: New testcase.

From-SVN: r239819
2016-08-29 12:24:25 +00:00
Janne Blomqvist
468d95c82c PR fortran/77261 Run random_3 testcase only when real(10) is available.
From-SVN: r239817
2016-08-29 11:29:16 +03:00
GCC Administrator
78a3bdba8a Daily bump.
From-SVN: r239814
2016-08-29 00:16:15 +00:00
Uros Bizjak
f520768763 i386.c (ix86_option_override_internal): Re-sort a couple of processor_alias_table entries.
* config/i386/i386.c (ix86_option_override_internal): Re-sort
	  a couple of processor_alias_table entries.

From-SVN: r239809
2016-08-28 18:22:22 +02:00
Eric Botcazou
710a2e1028 re PR target/77324 (ICE in push_reload, at reload.c:1350)
PR target/77324
	* config/sparc/sparc.c (sparc_legitimate_address_p): Accept special
	HIGH+LO construct during reload.

From-SVN: r239807
2016-08-28 08:50:09 +00:00
Tom de Vries
f329b264b3 Tag {ms,sysv}_va_list_type_node with '{ms,sysv}_abi va_list' attribute
2016-08-28  Tom de Vries  <tom@codesourcery.com>

	PR lto/70955
	* config/i386/i386.c (ix86_build_builtin_va_list_64): Tag type with
	'sysv_abi va_list' attribute.
	(ix86_build_builtin_va_list): Tag type with 'ms_abi va_list' attribute.
	(ix86_canonical_va_list_type): Handle 'sysv_abi/ms_abi va_list'
	attributes.

	* gcc.dg/pr70955.c: New test.
	* gcc.dg/lto/pr70955_0.c: Same.
	* gcc.dg/lto/pr70955_1.c: Same.

From-SVN: r239805
2016-08-28 05:05:15 +00:00
GCC Administrator
5730f967fa Daily bump.
From-SVN: r239804
2016-08-28 00:16:14 +00:00
Trevor Saunders
8c39f8aeb9 make stack_slot_list a vec<rtx>
gcc/ChangeLog:

2016-08-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* emit-rtl.h (struct rtl_data): Make stack_slot_list a vector.
	* emit-rtl.c (unshare_all_rtl_1): Adjust.
	(unshare_all_rtl_again): Likewise.
	* function.c (assign_stack_local_1): Likewise.
	(assign_stack_temp_for_type): Likewise.

From-SVN: r239801
2016-08-28 00:04:04 +00:00
Trevor Saunders
6f7eba349b make forced labels a vec
gcc/ChangeLog:

2016-08-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* cfgbuild.c (make_edges): Adjust.
	* cfgrtl.c (can_delete_label_p): Likewise.
	* dwarf2cfi.c (create_trace_edges): Likewise.
	* except.c (sjlj_emit_dispatch_table): Likewise.
	* function.h (struct expr_status): make x_forced_labels a vector.
	* jump.c (rebuild_jump_labels_1): Adjust.
	* reload1.c (set_initial_label_offsets): Likewise.
	* stmt.c (force_label_rtx): Likewise.
	(expand_label): Likewise.

From-SVN: r239800
2016-08-28 00:03:59 +00:00
Trevor Saunders
9cad8a673f haifa-sched.c: make ready_list an auto_vec<rtx_insn *>
gcc/ChangeLog:

2016-08-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* haifa-sched.c (fix_recovery_deps): Make ready_list a vector.

From-SVN: r239799
2016-08-28 00:03:52 +00:00
Patrick Palka
4a389eb62b Fix folding of VECTOR_CST comparisons
gcc/ChangeLog:

	PR tree-optimization/71077
	PR tree-optimization/68542
	* fold-const.c (fold_relational_const): Fix folding of
	VECTOR_CST comparisons that have a scalar boolean result type.
	(selftest::test_vector_folding): New static function.
	(selftest::fold_const_c_tests): Call it.

gcc/testsuite/ChangeLog:

	PR tree-optimization/71077
	* gcc.target/i386/pr71077.c: New test.

From-SVN: r239798
2016-08-27 22:00:17 +00:00
Gerald Pfeifer
3e13c3b9b8 extend.texi (SPU Built-in Functions): Remove stale references to material formerly at IBM and Sony.
* doc/extend.texi (SPU Built-in Functions): Remove stale
	references to material formerly at IBM and Sony.

From-SVN: r239797
2016-08-27 18:15:59 +00:00
Steven G. Kargl
602f77a672 re PR fortran/77380 (ICE in gfc_check_dependency, at fortran/dependency.c:1255)
2016-08-27  Steven G. Kargl <kargl@gcc.gnu.org>

	PR fortran/77380
	* dependency.c (gfc_check_dependency): Do not assert with
	-fcoarray=lib.

2016-08-27  Steven G. Kargl <kargl@gcc.gnu.org>

	PR fortran/77380
	* gfortran.dg/pr77380.f90: New test.

From-SVN: r239796
2016-08-27 15:45:35 +00:00
Steven G. Kargl
741b52b54f re PR fortran/77372 (ICE in simplify_ieee_selected_real_kind, at fortran/simplify.c:7049)
2016-08-27  Steven G. Kargl <kargl@gcc.gnu.org>

	PR fortran/77372
	simplify.c (simplify_ieee_selected_real_kind): Check for NULL pointers.

2016-08-27  Steven G. Kargl <kargl@gcc.gnu.org>

	PR fortran/77372
	gfortran.dg/pr77372.f90: New test.

From-SVN: r239795
2016-08-27 15:38:55 +00:00
Tim Shen
4aebb4e4a6 re PR libstdc++/77356 (regex error for a ECMAScript syntax string)
PR libstdc++/77356
	* include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
	_M_expression_term): Modify to support dash literal.
	* include/bits/regex_scanner.h: Add dash as a token type to make
	a different from the mandated dash literal by escaping.
	* include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
	token in bracket expression parsing.
	* testsuite/28_regex/regression.cc: Add new testcases.

From-SVN: r239794
2016-08-27 02:03:23 +00:00
GCC Administrator
d8921e81e9 Daily bump.
From-SVN: r239793
2016-08-27 00:16:16 +00:00
David Edelsohn
f763d9647a re PR target/77349 (AIX DWARF debugging offset in 64 bit mode)
PR target/77349
* config/rs6000/xcoff.h (DWARF_OFFSET_SIZE): Define as PTR_SIZE.

From-SVN: r239790
2016-08-26 19:51:27 -04:00
David Malcolm
ee90851679 Add validation and consolidation of fix-it hints
The first aspect of this patch is to add some checking of fix-it hints.
The idea is to put this checking within the rich_location machinery,
rather than requiring every diagnostic to implement it for itself.

The fixits within a rich_location are "atomic": all must be valid for
any to be applicable.

We reject any fixits involving locations above
LINE_MAP_MAX_LOCATION_WITH_COLS.

There's no guarantee that it's sane to modify a macro, so we reject
any fix-its that touch them.

For example, note the attempt to provide a fix-it for the definition
of the macro FIELD:

spellcheck-fields-2.c: In function ‘test_macro’:
spellcheck-fields-2.c:26:15: error: ‘union u’ has no member named ‘colour’; did you mean ‘color’?
 #define FIELD colour
               ^
               color
spellcheck-fields-2.c:27:15: note: in expansion of macro ‘FIELD’
   return ptr->FIELD;
               ^~~~~

After this patch, the fixit is not displayed:

spellcheck-fields-2.c: In function ‘test_macro’:
spellcheck-fields-2.c:26:15: error: ‘union u’ has no member named ‘colour’; did you mean ‘color’?
 #define FIELD colour
               ^
spellcheck-fields-2.c:27:15: note: in expansion of macro ‘FIELD’
   return ptr->FIELD;
               ^~~~~

We might want some way for a diagnostic to opt-in to fix-its that
affect macros, but for now it's simplest to reject them.

The other aspect of this patch is fix-it consolidation: in some cases
neighboring fix-its can be merged.  For example, in a diagnostic to
modernize old-style struct initializers from:

 struct s example = {
- foo: 1,
+ .foo = 1,
 };

one approach would be to replace the "foo" with ".foo" and the ":"
with " =".  This would give two "replace" fix-its:

  foo: 1,
  --- FIXIT 1
  .foo
     - FIXIT 2
     =

This patch allows them to be consolidated into a single "replace" fix-it:

  foo: 1,
  ----
  .foo =

gcc/ChangeLog:
	* diagnostic-show-locus.c
	(selftest::test_fixit_consolidation): New function.
	(selftest::diagnostic_show_locus_c_tests): Call it.
	* gcc-rich-location.h (gcc_rich_location): Eliminate unused
	constructor based on source_range.

gcc/testsuite/ChangeLog:
	* gcc.dg/spellcheck-fields-2.c (test): Move
	dg-begin/end-multiline-output within function body.
	(test_macro): New function.

libcpp/ChangeLog:
	* include/line-map.h (rich_location): Eliminate unimplemented
	constructor based on source_range.
	(rich_location::get_last_fixit_hint): New method.
	(rich_location::reject_impossible_fixit): New method.
	(rich_location): Add fields m_line_table and
	m_seen_impossible_fixit.
	(fixit_hint::maybe_append_replace): New pure virtual function.
	(fixit_insert::maybe_append_replace): New function.
	(fixit_replace::maybe_append_replace): New function.
	* line-map.c (rich_location::rich_location): Initialize
	m_line_table and m_seen_impossible_fixit.
	(rich_location::add_fixit_insert): Call
	reject_impossible_fixit and bail out if true.
	(column_before_p): New function.
	(rich_location::add_fixit_replace): Call reject_impossible_fixit
	and bail out if true.  Attempt to consolidate with neighboring
	fixits.
	(rich_location::get_last_fixit_hint): New method.
	(rich_location::reject_impossible_fixit): New method.
	(fixit_insert::maybe_append_replace): New method.
	(fixit_replace::maybe_append_replace): New method.

From-SVN: r239789
2016-08-26 21:25:41 +00:00
David Malcolm
d41e76cf75 Tweak to colors of fix-it hints
Previous, fix-it hints were printed using the color of the severity
of the diagnostic (magenta for warnings, red for errors, cyan for
notes).

This patch updates fix-it hints so that replacement text is printed in
green, to better distinguish the suggested improvement from
the current code.  For example:

spellcheck-fields.cc:52:13: error: 'struct s' has no member named 'colour'; did you mean 'color'?
   return ptr->colour;  <<< RED
               ^~~~~~   <<< RED
               color    <<< GREEN

It makes sense for the underlinings that indicate deletions to
be printed in red, so the patch changes that also.  For example:

diagnostic-test-show-locus-color.c:179:9: warning: example of a removal hint
   int a;;  <<< MAGENTA
         ^  <<< MAGENTA
         -  <<< RED

gcc/ChangeLog:
	* diagnostic-color.c (color_dict): Add "fixit-insert" and
	"fixit-delete".
	(parse_gcc_colors): Update description of default GCC_COLORS.
	* diagnostic-show-locus.c (colorizer::set_fixit_hint): Delete.
	(colorizer::set_fixit_insert): New method.
	(colorizer::set_fixit_delete): New method.
	(colorizer::get_color_by_name): New method.
	(colorizer::STATE_FIXIT_INSERT): New constant.
	(colorizer::STATE_FIXIT_DELETE): New constant.
	(class colorizer): Drop "_cs" suffix from fields.  Delete "_ce"
	fields in favor of new field "m_stop_color".  Add fields
	"m_fixit_insert" and "m_fixit_delete".
	(colorizer::colorizer): Update for above changes.  Replace
	colorize_start calls with calls to get_color_by_name.
	(colorizer::begin_state): Handle STATE_FIXIT_INSERT and
	STATE_FIXIT_DELETE.  Update for field renamings.
	(colorizer::finish_state): Simplify by using m_stop_color,
	rather than multiple identical "*_ce" fields.
	(colorizer::get_color_by_name): New method.
	(layout::print_any_fixits): Print insertions and replacements
	using the "fixit-insert" color, and deletions using the
	"fixit-delete" color.
	* doc/invoke.texi (-fdiagnostics-color): Update description of
	default GCC_COLORS, and of the supported capabilities.

gcc/testsuite/ChangeLog:
	* gcc.dg/plugin/diagnostic-test-show-locus-color.c
	(test_fixit_insert): Update expected output.
	(test_fixit_remove): Likewise.
	(test_fixit_replace): Likewise.

From-SVN: r239787
2016-08-26 17:59:08 +00:00
Rainer Orth
524a4c966c Fix gcc.dg/ipa/propbits-2.c
* gcc.dg/ipa/propbits-2.c: Add -fdump-tree-optimized to dg-options.
	Fix typo.

From-SVN: r239786
2016-08-26 17:32:05 +00:00
Max Filippov
7695d1e3e2 xtensa: report stack usage
This enables options -fstack-usage and -Wstack-usage.

2016-08-26  Max Filippov  <jcmvbkbc@gmail.com>
gcc/
	* config/xtensa/xtensa.c (xtensa_expand_prologue): Update
	current_function_static_stack_size variable with the static
	stack frame size of the current function when
	flag_stack_usage_info is enabled.

From-SVN: r239785
2016-08-26 17:23:37 +00:00
Jason Merrill
d0b0fbd9fc Avoid calling a trivial default constructor.
* class.c (default_ctor_p): New.
	(in_class_defaulted_default_constructor): Use it.
	(type_has_non_user_provided_default_constructor): Use it.
	* call.c (build_over_call): Handle trivial default constructor.
	* cp-tree.h: Declare default_ctor_p.

From-SVN: r239783
2016-08-26 11:10:57 -04:00
Jason Merrill
9729a5d524 PR c++/57728 - explicit instantiation and defaulted functions
* pt.c (do_type_instantiation): Don't mess with non-user-provided
	member functions.

From-SVN: r239782
2016-08-26 11:10:51 -04:00
Jonathan Wakely
10491e4c04 libstdc++/51960 move-construction for raw_storage_iterator
PR libstdc++/51960
	* doc/xml/manual/intro.xml: Document DR 2127 change.
	* doc/html/*: Regenerate.
	* include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
	(operator++(), operator++(int)): Use injected class name.
	* testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.

From-SVN: r239781
2016-08-26 14:11:29 +01:00
Nathan Sidwell
bdc30f8f2f ipa-inline-analysis.c (inline_write_summary): Remove unnecessary assignment inside if condition.
* ipa-inline-analysis.c (inline_write_summary): Remove unnecessary
	assignment inside if condition.

From-SVN: r239779
2016-08-26 13:03:32 +00:00
Richard Biener
ebfa15ab65 re PR tree-optimization/69047 (memcpy is not as optimized as union is)
2016-08-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/69047
	* tree-ssa.c (maybe_rewrite_mem_ref_base): Handle general bitfield
	extracts similar to what FRE does.
	(non_rewritable_mem_ref_base): Likewise.

	* gcc.dg/pr69047.c: New testcase.

From-SVN: r239778
2016-08-26 12:33:43 +00:00