1. 13 Nov, 2015 40 commits
    • fix ChangeLog entry · ae66757f
      From-SVN: r230345
      Michael Meissner committed
    • constraints.md (we constraint): New constraint for 64-bit power9 vector support. · dd551aa1
      [gcc]
      2015-11-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/constraints.md (we constraint): New constraint for
      	64-bit power9 vector support.
      	(wL constraint): New constraint for the element in a vector that
      	can be addressed by the MFVSRLD instruction.
      
      	* config/rs6000/rs6000-protos.h (convert_float128_to_int): Add
      	declaration.
      	(convert_int_to_float128): Likewise.
      	(rs6000_generate_compare): Add support for ISA 3.0 (power9)
      	hardware support for IEEE 128-bit floating point.
      	(rs6000_expand_float128_convert): Likewise.
      	(convert_float128_to_int): Likewise.
      	(convert_int_to_float128): Likewise.
      
      	* config/rs6000/rs6000.md (UNSPEC_ROUND_TO_ODD): New unspecs for
      	ISA 3.0 hardware IEEE 128-bit floating point.
      	(UNSPEC_IEEE128_MOVE): Likewise.
      	(UNSPEC_IEEE128_CONVERT): Likewise.
      	(FMA_F): Add support for IEEE 128-bit floating point hardware
      	support.
      	(Ff): Add support for DImode.
      	(Fv): Likewise.
      	(any_fix code iterator): New and updated iterators for IEEE
      	128-bit floating point hardware support.
      	(any_float code iterator): Likewise.
      	(s code attribute): Likewise.
      	(su code attribute): Likewise.
      	(az code attribute): Likewise.
      	(uns code attribute): Likewise.
      	(neg<mode>2, FLOAT128 iterator): Add support for IEEE 128-bit
      	floating point hardware support.
      	(abs<mode>2, FLOAT128 iterator): Likewise.
      	(add<mode>3, IEEE128 iterator): New insns for IEEE 128-bit
      	floating point hardware.
      	(sub<mode>3, IEEE128 iterator): Likewise.
      	(mul<mode>3, IEEE128 iterator): Likewise.
      	(div<mode>3, IEEE128 iterator): Likewise.
      	(copysign<mode>3, IEEE128 iterator): Likewise.
      	(sqrt<mode>2, IEEE128 iterator): Likewise.
      	(neg<mode>2, IEEE128 iterator): Likewise.
      	(abs<mode>2, IEEE128 iterator): Likewise.
      	(nabs<mode>2, IEEE128 iterator): Likewise.
      	(fma<mode>4_hw, IEEE128 iterator): Likewise.
      	(fms<mode>4_hw, IEEE128 iterator): Likewise.
      	(nfma<mode>4_hw, IEEE128 iterator): Likewise.
      	(nfms<mode>4_hw, IEEE128 iterator): Likewise.
      	(extend<SFDF:mode><IEEE128:mode>2_hw): Likewise.
      	(trunc<mode>df2_hw, IEEE128 iterator): Likewise.
      	(trunc<mode>sf2_hw, IEEE128 iterator): Likewise.
      	(fix_fixuns code attribute): Likewise.
      	(float_floatuns code attribute): Likewise.
      	(fix<uns>_<mode>si2_hw): Likewise.
      	(fix<uns>_<mode>di2_hw): Likewise.
      	(float<uns>_<mode>si2_hw): Likewise.
      	(float<uns>_<mode>di2_hw): Likewise.
      	(xscvqp<su>wz_<mode>): Likewise.
      	(xscvqp<su>dz_<mode>): Likewise.
      	(xscv<su>dqp_<mode): Likewise.
      	(ieee128_mfvsrd): Likewise.
      	(ieee128_mfvsrwz): Likewise.
      	(ieee128_mtvsrw): Likewise.
      	(ieee128_mtvsrd): Likewise.
      	(trunc<mode>df2_odd): Likewise.
      	(cmp<mode>_h): Likewise.
      	(128-bit GPR splitters): Don't split a 128-bit move that is a
      	direct move between GPR and vector registers using ISA 3.0 direct
      	move instructions.
      	(<u>mul<mode><dmode>3): Add support for the ISA 3.0 integer
      	multiply-add instruction.
      
      	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Add ISA 3.0
      	debugging.
      	(rs6000_init_hard_regno_mode_ok): If ISA 3.0 and 64-bit, enable we
      	constraint.  Disable the VSX<->GPR direct move helpers if we have
      	the MFVSRLD and MTVSRDD instructions.
      	(rs6000_secondary_reload_simple_move): Add support for doing
      	vector direct moves directly without additional scratch registers
      	if we have ISA 3.0 instructions.
      	(rs6000_secondary_reload_direct_move): Update comments.
      	(rs6000_output_move_128bit): Add support for ISA 3.0 vector
      	instructions.
      
      	* config/rs6000/vsx.md (vsx_mov<mode>): Add support for ISA 3.0
      	direct move instructions.
      	(vsx_movti_64bit): Likewise.
      	(vsx_extract_<mode>): Likewise.
      
      	* config/rs6000/rs6000.h (VECTOR_ELEMENT_MFVSRLD_64BIT): New
      	macros for ISA 3.0 direct move instructions.
      	(TARGET_DIRECT_MOVE_128): Likewise.
      	(TARGET_MADDLD): Add support for the ISA 3.0 integer multiply-add
      	instruction.
      
      	* doc/md.texi (RS/6000 constraints): Document we, wF, wG, wL
      	constraints.  Update wa documentation to say not to use %x<n> on
      	instructions that only take Altivec registers.
      
      [gcc/testsuite]
      2015-11-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/float128-hw.c: New test for IEEE 128-bit
      	hardware floating point support.
      
      	* gcc.target/powerpc/direct-move-vector.c: New test for 128-bit
      	vector direct move instructions.
      
      	* gcc.target/powerpc/maddld.c: New test.
      
      From-SVN: r230342
      Michael Meissner committed
    • pr68306.c (dg-additional-options): Add i?86-*-* target. · 0ac17097
      	* gcc.dg/pr68306.c (dg-additional-options): Add i?86-*-* target.
      	* gcc.dg/pr68306-2.c (dg-additional-options): Ditto.
      	* gcc.dg/pr68306-3.c (dg-additional-options): Ditto.
      
      From-SVN: r230339
      Uros Bizjak committed
    • collapse-2.c: Sequential loop is sequential. · 1d1ab74f
      	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
      	loop is sequential.
      
      From-SVN: r230333
      Nathan Sidwell committed
    • Define std::experimental::randint etc. · 5ae465c5
      	* include/Makefile.am: Add new header.
      	* include/Makefile.in: Regenerate.
      	* include/experimental/random: New.
      	* testsuite/experimental/random/randint.cc: New.
      
      From-SVN: r230332
      Jonathan Wakely committed
    • Source range tracking in libcpp and C FE, with bit-packing optimization · ebedc9a3
      This patch combines:
        [PATCH 05/10] Add ranges to libcpp tokens (via ad-hoc data, unoptimized)
        [PATCH 06/10] Track expression ranges in C frontend
        [PATCH 07/10] Add plugin to recursively dump the source-ranges in a tree (v2)
        [PATCH 08/10] Wire things up so that libcpp users get token underlines
        [PATCH 09/10] Delay some resolution of ad-hoc locations, preserving ranges
        [PATCH 10/10] Compress short ranges into source_location
        [PATCH] libcpp: add examples to source_location description
      along with fixes for the nits identified during review.
      
      gcc/ChangeLog:
      	* Makefile.in (OBJS): Add gcc-rich-location.o.
      	* diagnostic.c (diagnostic_append_note): Pass line_table to
      	rich_location ctor.
      	(emit_diagnostic): Likewise.
      	(inform): Likewise.
      	(inform_n): Likewise.
      	(warning): Likewise.
      	(warning_at): Likewise.
      	(warning_n): Likewise.
      	(pedwarn): Likewise.
      	(permerror): Likewise.
      	(error): Likewise.
      	(error_n): Likewise.
      	(error_at): Likewise.
      	(sorry): Likewise.
      	(fatal_error): Likewise.
      	(internal_error): Likewise.
      	(internal_error_no_backtrace): Likewise.
      	(source_range::debug): Likewise.
      	* gcc-rich-location.c: New file.
      	* gcc-rich-location.h: New file.
      	* genmatch.c (fatal_at): Pass line_table to rich_location ctor.
      	(warning_at): Likewise.
      	* gimple.h (gimple_set_block): Use set_block function.
      	* input.c (dump_line_table_statistics): Dump stats on how many
      	ranges were optimized vs how many needed ad-hoc table.
      	(write_digit_row): Add "map" param; use its range_bits
      	to calculate the per-character offset.
      	(dump_location_info): Print the range and column bits for each
      	ordinary map.  Use the range bits to calculate the per-character
      	offset.  Pass the map as a new param to the various calls to
      	write_digit_row.  Eliminate uses of
      	ORDINARY_MAP_NUMBER_OF_COLUMN_BITS.
      	* print-tree.c (print_node): Print any source range information.
      	* rtl-error.c (diagnostic_for_asm): Likewise.
      	* toplev.c (general_init): Initialize line_table's
      	default_range_bits.
      	* tree-cfg.c (move_block_to_fn): Likewise.
      	(move_block_to_fn): Likewise.
      	* tree-inline.c (copy_phis_for_bb): Likewise.
      	* tree.c (tree_set_block): Likewise.
      	(get_pure_location): New function.
      	(set_source_range): New functions.
      	(set_block): New function.
      	(set_source_range): New functions.
      	* tree.h (CAN_HAVE_RANGE_P): New.
      	(EXPR_LOCATION_RANGE): New.
      	(EXPR_HAS_RANGE): New.
      	(get_expr_source_range): New inline function.
      	(DECL_LOCATION_RANGE): New.
      	(set_source_range): New decls.
      	(get_decl_source_range): New inline function.
      
      gcc/ada/ChangeLog:
      	* gcc-interface/trans.c (Sloc_to_locus): Add line_table param when
      	calling linemap_position_for_line_and_column.
      
      gcc/c-family/ChangeLog:
      	* c-common.c (c_fully_fold_internal): Capture existing souce_range,
      	and store it on the result.
      	* c-opts.c (c_common_init_options): Set
      	global_dc->colorize_source_p.
      
      gcc/c/ChangeLog:
      	* c-decl.c (warn_defaults_to): Pass line_table to
      	rich_location ctor.
      	* c-errors.c (pedwarn_c99): Likewise.
      	(pedwarn_c90): Likewise.
      	* c-parser.c (set_c_expr_source_range): New functions.
      	(c_token::get_range): New method.
      	(c_token::get_finish): New method.
      	(c_parser_expr_no_commas): Call set_c_expr_source_range on the ret
      	based on the range from the start of the LHS to the end of the
      	RHS.
      	(c_parser_conditional_expression): Likewise, based on the range
      	from the start of the cond.value to the end of exp2.value.
      	(c_parser_binary_expression): Call set_c_expr_source_range on
      	the stack values for TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR.
      	(c_parser_cast_expression): Call set_c_expr_source_range on ret
      	based on the cast_loc through to the end of the expr.
      	(c_parser_unary_expression): Likewise, based on the
      	op_loc through to the end of op.
      	(c_parser_sizeof_expression) Likewise, based on the start of the
      	sizeof token through to either the closing paren or the end of
      	expr.
      	(c_parser_postfix_expression): Likewise, using the token range,
      	or from the open paren through to the close paren for
      	parenthesized expressions.
      	(c_parser_postfix_expression_after_primary): Likewise, for
      	various kinds of expression.
      	* c-tree.h (struct c_expr): Add field "src_range".
      	(c_expr::get_start): New method.
      	(c_expr::get_finish): New method.
      	(set_c_expr_source_range): New decls.
      	* c-typeck.c (parser_build_unary_op): Call set_c_expr_source_range
      	on ret for prefix unary ops.
      	(parser_build_binary_op): Likewise, running from the start of
      	arg1.value through to the end of arg2.value.
      
      gcc/cp/ChangeLog:
      	* error.c (pedwarn_cxx98): Pass line_table to rich_location ctor.
      
      gcc/fortran/ChangeLog:
      	* error.c (gfc_warning): Pass line_table to rich_location ctor.
      	(gfc_warning_now_at): Likewise.
      	(gfc_warning_now): Likewise.
      	(gfc_error_now): Likewise.
      	(gfc_fatal_error): Likewise.
      	(gfc_error): Likewise.
      	(gfc_internal_error): Likewise.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/diagnostic-token-ranges.c: New file.
      	* gcc.dg/diagnostic-tree-expr-ranges-2.c: New file.
      	* gcc.dg/plugin/diagnostic-test-expressions-1.c: New file.
      	* gcc.dg/plugin/diagnostic-test-show-trees-1.c: New file.
      	* gcc.dg/plugin/diagnostic_plugin_show_trees.c: New file.
      	* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c (get_loc): Add
      	line_table param when calling
      	linemap_position_for_line_and_column.
      	(test_show_locus): Pass line_table to rich_location ctors.
      	(plugin_init): Remove setting of global_dc->colorize_source_p.
      	* gcc.dg/plugin/diagnostic_plugin_test_tree_expression_range.c:
      	New file.
      	* gcc.dg/plugin/plugin.exp (plugin_test_list): Add
      	diagnostic_plugin_test_tree_expression_range.c,
      	diagnostic-test-expressions-1.c, diagnostic_plugin_show_trees.c,
      	and diagnostic-test-show-trees-1.c.
      
      libcpp/ChangeLog:
      	* errors.c (cpp_diagnostic): Pass pfile->line_table to
      	rich_location ctor.
      	(cpp_diagnostic_with_line): Likewise.
      	* include/cpplib.h (struct cpp_token): Update comment for src_loc
      	to indicate that the range of the token is "baked into" the
      	source_location.
      	* include/line-map.h (source_location): Update the descriptive
      	comment to reflect the packing scheme for short ranges, adding
      	worked examples of location encoding.
      	(struct line_map_ordinary): Drop field "column_bits" in favor
      	of field "m_column_and_range_bits"; add field "m_range_bits".
      	(ORDINARY_MAP_NUMBER_OF_COLUMN_BITS): Delete.
      	(location_adhoc_data): Add source_range field.
      	(struct line_maps): Add fields "default_range_bits",
      	"num_optimized_ranges" and "num_unoptimized_ranges".
      	(get_combined_adhoc_loc): Add source_range param.
      	(get_range_from_loc): New declaration.
      	(pure_location_p): New prototype.
      	(COMBINE_LOCATION_DATA):  Add source_range param.
      	(SOURCE_LINE): Update for renaming of column_bits.
      	(SOURCE_COLUMN): Likewise.  Shift the column right by the map's
      	range_bits.
      	(LAST_SOURCE_LINE_LOCATION): Update for renaming of column_bits.
      	(linemap_position_for_line_and_column): Add line_maps * params.
      	(rich_location::rich_location): Likewise.
      	* lex.c (_cpp_lex_direct): Capture the range of the token, baking
      	it into token->src_loc via a call to COMBINE_LOCATION_DATA.
      	* line-map.c (LINE_MAP_MAX_COLUMN_NUMBER): Reduce from 1U << 17 to
      	1U << 12.
      	(location_adhoc_data_hash): Add the src_range into
      	the hash value.
      	(location_adhoc_data_eq): Require equality of the src_range
      	values.
      	(can_be_stored_compactly_p): New function.
      	(get_combined_adhoc_loc): Add src_range param, and store it,
      	via a bit-packing scheme for short ranges, otherwise within the
      	lookaside table.  Remove the requirement that data is non-NULL.
      	(get_range_from_adhoc_loc): New function.
      	(get_range_from_loc): New function.
      	(pure_location_p): New function.
      	(linemap_add): Ensure that start_location has zero for the
      	range_bits, unless we're past LINE_MAP_MAX_LOCATION_WITH_COLS.
      	Initialize range_bits to zero.  Assert that the start_location
      	is "pure".
      	(linemap_line_start): Assert that the
      	column_and_range_bits >= range_bits.
      	Update determinination of whether we need to start a new map
      	using the effective column bits, without the range bits.
      	Use the set's default_range_bits in new maps, apart from
      	those with column_bits == 0, which should also have 0 range_bits.
      	Increase the column bits for new maps by the range bits.
      	When adding lines to an existing map, use set->highest_line
      	directly rather than offsetting highest by SOURCE_COLUMN.
      	Add assertions to sanity-check the return value.
      	(linemap_position_for_column): Offset to_column by range_bits.
      	Update set->highest_location if necessary.
      	(linemap_position_for_line_and_column): Add line_maps * param.
      	Update the calculation to offset the column by range_bits, and
      	conditionalize it on being <= LINE_MAP_MAX_LOCATION_WITH_COLS.
      	Bound it by LINEMAPS_MACRO_LOWEST_LOCATION.  Update
      	set->highest_location if necessary.
      	(linemap_position_for_loc_and_offset): Handle ad-hoc locations;
      	pass "set" to linemap_position_for_line_and_column.
      	(linemap_macro_map_loc_unwind_toward_spelling): Add line_maps
      	param.  Handle ad-hoc locations.
      	(linemap_location_in_system_header_p): Pass on "set" to call to
      	linemap_macro_map_loc_unwind_toward_spelling.
      	(linemap_macro_loc_to_spelling_point): Retain ad-hoc locations.
      	Pass on "set" to call to
      	linemap_macro_map_loc_unwind_toward_spelling.
      	(linemap_resolve_location): Retain ad-hoc locations.  Pass on
      	"set" to call to linemap_macro_map_loc_unwind_toward_spelling.
      	(linemap_unwind_toward_expansion):  Pass on "set" to call to
      	linemap_macro_map_loc_unwind_toward_spelling.
      	(linemap_expand_location): Extract the data pointer before
      	extracting the location.
      	(rich_location::rich_location): Add line_maps param; use it to
      	extract the range from the source_location.
      	* location-example.txt: Regenerate, showing new representation.
      
      From-SVN: r230331
      David Malcolm committed
    • PR/67682, break SLP groups up if only some elements match · 1ba91a49
      gcc/:
      
      	* tree-vect-slp.c (vect_split_slp_store_group): New.
      	(vect_analyze_slp_instance): During basic block SLP, recurse on
      	subgroups if vect_build_slp_tree fails after 1st vector.
      
      gcc/testsuite/:
      
      	* gcc.dg/vect/bb-slp-7.c (main1): Make subgroups non-isomorphic.
      	* gcc.dg/vect/bb-slp-subgroups-1.c: New.
      	* gcc.dg/vect/bb-slp-subgroups-2.c: New.
      	* gcc.dg/vect/bb-slp-subgroups-3.c: New.
      
      From-SVN: r230330
      Alan Lawrence committed
    • Improve portability of named locale tests · 4216708a
      2015-11-13  John Marino  <gnugcc@marino.st>
      
      	* testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc:
      	Use portable locale name
      	* testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
      	* testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc:
      	Likewise.
      	* testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
      	* testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc:
      	Likewise.
      	* testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/codecvt/in/char/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/codecvt/in/char/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/codecvt/length/char/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/codecvt/length/char/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
      	* testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
      	* testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc:
      	Likewise.
      	* testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/codecvt/out/char/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/codecvt/out/char/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
      	* testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
      	* testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/codecvt_byname/50714.cc: Likewise.
      	* testsuite/22_locale/collate/compare/char/1.cc: Likewise.
      	* testsuite/22_locale/collate/compare/char/2.cc: Likewise.
      	* testsuite/22_locale/collate/compare/char/3.cc: Likewise.
      	* testsuite/22_locale/collate/compare/char/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/collate/compare/char/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
      	* testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
      	* testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/collate/hash/char/2.cc: Likewise.
      	* testsuite/22_locale/collate/hash/char/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/collate/hash/char/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/collate/transform/char/2.cc: Likewise.
      	* testsuite/22_locale/collate/transform/char/3.cc: Likewise.
      	* testsuite/22_locale/collate/transform/char/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/collate/transform/char/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
      	* testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc:
      	Likewise.
      	* testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
      	* testsuite/22_locale/ctype/cons/char/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/ctype/cons/char/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/ctype/is/char/2.cc: Likewise.
      	* testsuite/22_locale/ctype/is/char/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/ctype/is/char/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/ctype/narrow/char/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/ctype/scan/char/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/ctype/scan/char/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/ctype/to/char/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/ctype/to/char/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/ctype/widen/char/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/ctype/widen/char/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/facet/2.cc: Likewise.
      	* testsuite/22_locale/locale/cons/12352.cc: Likewise.
      	* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
      	* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
      	* testsuite/22_locale/locale/cons/2.cc: Likewise.
      	* testsuite/22_locale/locale/cons/38365.cc: Likewise.
      	* testsuite/22_locale/locale/cons/38368.cc: Likewise.
      	* testsuite/22_locale/locale/cons/4.cc: Likewise.
      	* testsuite/22_locale/locale/cons/40184.cc: Likewise.
      	* testsuite/22_locale/locale/cons/7.cc: Likewise.
      	* testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
      	* testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
      	* testsuite/22_locale/messages/13631.cc: Likewise.
      	* testsuite/22_locale/messages/members/char/1.cc: Likewise.
      	* testsuite/22_locale/messages/members/char/2.cc: Likewise.
      	* testsuite/22_locale/messages/members/char/3.cc: Likewise.
      	* testsuite/22_locale/messages/members/char/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/messages/members/char/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
      	* testsuite/22_locale/money_get/get/char/1.cc: Likewise.
      	* testsuite/22_locale/money_get/get/char/10.cc: Likewise.
      	* testsuite/22_locale/money_get/get/char/11.cc: Likewise.
      	* testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
      	* testsuite/22_locale/money_get/get/char/12.cc: Likewise.
      	* testsuite/22_locale/money_get/get/char/13.cc: Likewise.
      	* testsuite/22_locale/money_get/get/char/15.cc: Likewise.
      	* testsuite/22_locale/money_get/get/char/16.cc: Likewise.
      	* testsuite/22_locale/money_get/get/char/17.cc: Likewise.
      	* testsuite/22_locale/money_get/get/char/18.cc: Likewise.
      	* testsuite/22_locale/money_get/get/char/2.cc: Likewise.
      	* testsuite/22_locale/money_get/get/char/3.cc: Likewise.
      	* testsuite/22_locale/money_get/get/char/4.cc: Likewise.
      	* testsuite/22_locale/money_get/get/char/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/money_get/get/char/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
      	* testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
      	* testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
      	* testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
      	* testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
      	* testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
      	* testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
      	* testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
      	* testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
      	* testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
      	* testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
      	* testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
      	* testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/money_put/put/char/1.cc: Likewise.
      	* testsuite/22_locale/money_put/put/char/2.cc: Likewise.
      	* testsuite/22_locale/money_put/put/char/3.cc: Likewise.
      	* testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
      	* testsuite/22_locale/money_put/put/char/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/money_put/put/char/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
      	* testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
      	* testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/moneypunct/40712.cc: Likewise.
      	* testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
      	* testsuite/22_locale/moneypunct/members/char/wrapped_env.cc:
      	Likewise.
      	* testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc:
      	Likewise.
      	* testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/moneypunct_byname/named_equivalence.cc:
      	Likewise.
      	* testsuite/22_locale/num_get/get/char/1.cc: Likewise.
      	* testsuite/22_locale/num_get/get/char/3.cc: Likewise.
      	* testsuite/22_locale/num_get/get/char/5.cc: Likewise.
      	* testsuite/22_locale/num_get/get/char/6.cc: Likewise.
      	* testsuite/22_locale/num_get/get/char/9.cc: Likewise.
      	* testsuite/22_locale/num_get/get/char/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/num_get/get/char/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
      	* testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
      	* testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
      	* testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
      	* testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
      	* testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/num_put/put/char/1.cc: Likewise.
      	* testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
      	* testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
      	* testsuite/22_locale/num_put/put/char/3.cc: Likewise.
      	* testsuite/22_locale/num_put/put/char/5.cc: Likewise.
      	* testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
      	* testsuite/22_locale/num_put/put/char/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/num_put/put/char/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
      	* testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
      	* testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
      	* testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
      	* testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
      	* testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
      	* testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
      	* testsuite/22_locale/numpunct/members/char/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/numpunct/members/char/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc:
      	Likewise.
      	* testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
      	* testsuite/22_locale/time_get/date_order/char/wrapped_env.cc:
      	Likewise.
      	* testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc:
      	Likewise.
      	* testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/time_get/get/char/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/char/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
      	* testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc:
      	Likewise.
      	* testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc:
      	Likewise.
      	* testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc:
      	Likewise.
      	* testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
      	* testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_time/char/wrapped_env.cc:
      	Likewise.
      	* testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
      	* testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc:
      	Likewise.
      	* testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise.
      	* testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc:
      	Likewise.
      	* testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc:
      	Likewise.
      	* testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/time_get/get_year/char/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc:
      	Likewise.
      	* testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc:
      	Likewise.
      	* testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/2.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/3.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/4.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/6.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/7.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/8.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/time_put/put/char/wrapped_locale.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc: Likewise.
      	* testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc: Likewise.
      	* testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
      	* testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
      	* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
      	* testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
      	* testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
      	* testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
      	* testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
      	* testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
      	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
      	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
      	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
      	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
      	* testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
      	* testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
      	* testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
      	* testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
      	* testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
      	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
      	Likewise.
      	* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
      	Likewise.
      	* testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise.
      	* testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
      	* testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
      	* testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
      	* testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
      	* testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
      	* testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
      	* testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
      	* testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
      	Likewise.
      	* testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise.
      	* testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc:
      	Likewise.
      	* testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
      	* testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
      	Likewise.
      	* testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise.
      	* testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc:
      	Likewise.
      	* testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise.
      	* testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
      	* testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Check
      	for named locale as appropriate for target.
      	* testsuite/util/testsuite_hooks.h (ISO_8859): Define macro to form
      	target's preferred form of locale name.
      
      From-SVN: r230329
      John Marino committed
    • re PR target/65837 ([arm-linux-gnueabihf] lto1 target specific builtin not available) · 1596d018
      2015-11-13  Christian Bruel  <christian.bruel@st.com>
      
      	PR target/65837
      	* config/arm/arm.c (arm_option_override): Move NEON check...
      	(arm_option_check_internal): here
      	(arm_file_start): Move .fpu print...
      	(arm_declare_function_name): here
      	(arm_option_print): Dump current fpu name.
      	* config/arm/arm.opt (arm_fpu_index): Mark Save.
      
      From-SVN: r230327
      Christian Bruel committed
    • [combine] Don't transform sign and zero extends inside mults · e5b2900e
      2015-11-13  Segher Boessenkool  <segher@kernel.crashing.org>
                  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
      
              * combine.c (subst): Don't substitute or simplify when
              handling register-wise widening multiply.
              (force_to_mode): Likewise.
      
              * gcc.target/aarch64/umaddl_combine_1.c: New test.
      
      From-SVN: r230326
      Kyrylo Tkachov committed
    • nvptx.c (nvptx_generate_vector_shuffle): Deal with complex types. · dd3c1b14
      	gcc/
      	* config/nvptx/nvptx.c (nvptx_generate_vector_shuffle): Deal with
      	complex types.
      
      	libgomp/
      	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
      	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
      
      From-SVN: r230325
      Nathan Sidwell committed
    • More fine-grained autoconf checks for C99 library · 23c64853
      2015-11-13  Jennifer Yao  <jenny.hyphen.fa@gmail.com>
      	    Jonathan Wakely  <jwakely@redhat.com>
      
      	PR libstdc++/58393
      	PR libstdc++/61580
      	* acinclude.m4 (GLIBCXX_ENABLE_C99): Perform tests twice, with
      	-std=c++11 as well as -std=c++98, and define separate macros for each.
      	Cache the results of checking for complex math and wide character
      	functions. Reformat for readability.
      	* config.h.in: Regenerate.
      	* include/bits/c++config: Define _GLIBCXX_USE_C99_XXX macros to
      	either _GLIBCXX98_USE_C99_XXX or _GLIBCXX11_USE_C99_XXX according to
      	language standard in use.
      	* config/locale/dragonfly/c_locale.h (std::__convert_from_v): Replace
      	_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
      	* config/locale/generic/c_locale.h (std::__convert_from_v): Likewise.
      	* config/locale/gnu/c_locale.h (std::__convert_from_v): Likewise.
      	* config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99_STDIO,
      	_GLIBCXX_USE_C99_STDLIB, and _GLIBCXX_USE_C99_WCHAR.
      	* configure: Regenerate.
      	* include/bits/basic_string.h: Make numeric conversion functions
      	depend on _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, or
      	_GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99.
      	* include/ext/vstring.h: Likewise.
      	* include/bits/locale_facets.tcc (std::num_put::_M_insert_float):
      	Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
      	* include/bits/locale_facets_nonio.tcc (std::money_put::do_put):
      	Likewise.
      	* include/c_compatibility/math.h: Replace _GLIBCXX_USE_C99 with
      	_GLIBCXX_USE_C99_MATH.
      	* include/c_compatibility/wchar.h: Replace _GLIBCXX_USE_C99 with
      	_GLIBCXX_USE_C99_WCHAR.
      	* include/c_global/cstdio: Replace _GLIBCXX_USE_C99 with
      	_GLIBCXX_USE_C99_STDIO.
      	* include/c_global/cstdlib: Replace _GLIBCXX_USE_C99 with
      	_GLIBCXX_USE_C99_STDLIB.
      	* include/c_global/cwchar: Replace _GLIBCXX_USE_C99 with
      	_GLIBCXX_USE_C99_WCHAR.
      	* include/c_std/cstdio: Replace _GLIBCXX_USE_C99 with
      	_GLIBCXX_USE_C99_STDIO.
      	* include/c_std/cstdlib: Replace _GLIBCXX_USE_C99 with
      	_GLIBCXX_USE_C99_STDLIB.
      	* include/c_std/cwchar: Replace _GLIBCXX_USE_C99 with
      	_GLIBCXX_USE_C99_WCHAR.
      	* include/tr1/cstdio: Replace _GLIBCXX_USE_C99 with
      	_GLIBCXX_USE_C99_STDIO.
      	* include/tr1/cstdlib: Replace _GLIBCXX_USE_C99 with
      	_GLIBCXX_USE_C99_STDLIB.
      	* include/tr1/cwchar: Replace _GLIBCXX_USE_C99 with
      	_GLIBCXX_USE_C99_WCHAR.
      	* include/tr1/stdlib.h: Replace _GLIBCXX_USE_C99 with
      	_GLIBCXX_USE_C99_STDLIB.
      	* src/c++98/locale_facets.cc (std::__num_base::_S_format_float):
      	Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
      	* testsuite/18_support/exception_ptr/60612-terminate.cc: Replace
      	_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB.
      	* testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
      	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc
      	(test01): Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR.
      	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
      	stof.cc: Likewise.
      	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
      	stoi.cc: Likewise.
      	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
      	stol.cc: Likewise.
      	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
      	stold.cc: Likewise.
      	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
      	stoll.cc: Likewise.
      	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
      	stoul.cc: Likewise.
      	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
      	stoull.cc: Likewise.
      	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
      	to_wstring.cc: Likewise.
      	* testsuite/26_numerics/headers/cstdlib/13943.cc: Replace
      	_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB.
      	* testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Likewise.
      	* testsuite/lib/libstdc++.exp (check_v3_target_string_conversions):
      	Change preprocessor #if conditional so that it uses
      	_GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, and
      	_GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99.
      	* testsuite/tr1/8_c_compatibility/cmath/templates.cc: Replace
      	_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_MATH.
      	* testsuite/tr1/8_c_compatibility/cstdio/functions.cc: Replace
      	_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
      	* testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Replace
      	_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB.
      	* testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc: Likewise.
      	* testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Replace
      	_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR.
      	* testsuite/util/testsuite_fs.h: Replace _GLIBCXX_USE_C99 with
      	_GLIBCXX_USE_C99_STDIO.
      
      Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
      
      From-SVN: r230324
      Jennifer Yao committed
    • PR68264: Use unordered comparisons for tree-call-cdce.c · a054560d
      As reported in PR 68264, tree-call-cdce.c should be using unordered
      comparisons for the range checks, in order to avoid raising FE_INVALID
      for quiet NaNs.
      
      Tested on x86_64-linux-gnu and aarch64-linux-gnu.  The test failed on
      aarch64-linux-gnu before the patch, but it didn't on x86_64-linux-gnu
      because it used unordered comparisons for the previous ordered tree codes.
      
      gcc/
      	PR tree-optimization/68264
      	* tree-call-cdce.c (gen_one_condition): Update commentary.
      	(gen_conditions_for_pow_int_base): Invert the sense of the tests
      	passed to gen_one_condition.
      	(gen_conditions_for_domain): Likewise.  Use unordered comparisons.
      	(shrink_wrap_one_built_in_call): Invert the sense of the tests,
      	using EDGE_FALSE_VALUE for edges to the call block and
      	EDGE_TRUE_VALUE for the others.
      
      gcc/testsuite/
      	PR tree-optimization/68264
      	* gcc.dg/torture/pr68264.c: New test.
      
      From-SVN: r230323
      Richard Sandiford committed
    • re PR c/68320 (internal compiler error: in declspecs_add_type) · ec8b536f
      	PR c/68320
      	* c-parser.c (c_parser_for_statement): Treat unknown tokens as IDs.
      
      	* gcc.dg/pr68320.c: New test.
      
      From-SVN: r230322
      Marek Polacek committed
    • gimplify.c (oacc_default_clause): Use inform for enclosing scope. · 20e8b68f
      	gcc/
      	* gimplify.c (oacc_default_clause): Use inform for enclosing scope.
      
      	gcc/testsuite/
      	* c-c++-common/goacc/data-default-1.c: Correct expected
      
      From-SVN: r230321
      Nathan Sidwell committed
    • gen-pass-instances.awk: Rename prefix_len var to len_of_prefix in handle_line · 77f9c814
      2015-11-13  Tom de Vries  <tom@codesourcery.com>
      
      	* gen-pass-instances.awk (handle_line): Rename prefix_len var to
      	len_of_prefix.
      
      From-SVN: r230320
      Tom de Vries committed
    • gen-pass-instances.awk: Add args_str var in handle_line · 6275791a
      2015-11-13  Tom de Vries  <tom@codesourcery.com>
      
      	* gen-pass-instances.awk (handle_line): Add args_str variable.
      
      From-SVN: r230319
      Tom de Vries committed
    • [multiple changes] · 9ba9f4c0
      2015-11-13  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_attr.adb: Minor reformatting.
      
      2015-11-13  Pascal Obry  <obry@adacore.com>
      
      	* adaint.c: Ensure that it is possible to get killed process
      	status on Windows.
      
      From-SVN: r230318
      Arnaud Charlet committed
    • Updaate documentation. · e4779ba4
      From-SVN: r230317
      Arnaud Charlet committed
    • [multiple changes] · 90b510e4
      2015-11-13  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* sigtramp-ios.c, init.c: Minor cosmetic tweaks.
      
      2015-11-13  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* s-gloloc.adb, g-debpoo.adb: Minor reformatting.
      
      2015-11-13  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch5.adb (Analyze_Iterator_Specification): Improve error
      	message for the case the iterable name (array or container)
      	is a component that depends on a discriminant.
      
      2015-11-13  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch4.adb (Indicate_Name_And_Type): If the analysis of
      	one interpretation succeeds, set type of name in call, for
      	completeness.
      	(Try_Container_Indexing): If there are multiple indexing
      	functions, collect possible interpretations that are compatible
      	with given parameters, and add implicit dereference types when
      	present.
      	* sem_util.adb (Build_Explicit_Dereference): If the expression
      	is an overloaded function call use the given discriminant to
      	resolve the call, and set properly the type of the call and of
      	the resulting dereference.
      
      2015-11-13  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_prag.adb (Analyze_Pragma): Pragma Constant_After_Elaboration can
      	now apply to a variable without an initialization expression.
      
      2015-11-13  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch9.adb (Add_Matching_Formals): Parameter Actuals is now of mode
      	IN OUT. Create a new list when list Actuals is not present.
      	(Build_Contract_Wrapper): Create the wrapper
      	only when the entry has at least on checked contract case or
      	pre/postcondition. Ensure that the call to the original entry
      	lacks an actual parameter list when the entry appears without
      	formal parameters.
      	(Expand_Entry_Declaration): Code cleanup.
      
      2015-11-13  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Continue the analysis
      	after encountering an illegal aspect Part_Of.
      
      2015-11-13  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_attr.adb (Expand_N_Attribute_Reference, case
      	Overlaps_Storage): Add copies for nodes that represent the integer
      	addresses of the two actuals, to prevent identical nodes in the
      	tree, which the backend cannot handle properly.
      
      From-SVN: r230316
      Arnaud Charlet committed
    • [multiple changes] · 6672e402
      2015-11-13  Bob Duff  <duff@adacore.com>
      
      	* sem_ch6.adb (Check_Private_Overriding): Change
      	name of Parent_Is_Private to be Overrides_Private_Part_Op,
      	and use Unit_Declaration_Node.
      
      2015-11-13  Bob Duff  <duff@adacore.com>
      
      	* sinfo.ads: Minor comment fix.
      	* sem_ch6.adb: Minor reformatting.
      
      2015-11-13  Jerome Lambourg  <lambourg@adacore.com>
      
      	* tracebak.c: Do not use the GCC Unwinder to retrieve traceback
      	for x86_64-vx7.
      
      2015-11-13  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* init.c [Darwin/arm64]: Fix typo.
      	* sigtramp-armios.c: Remove.
      	* sigtramp-ios.c: New file.
      
      2015-11-13  Doug Rupp  <rupp@adacore.com>
      
      	* s-stchop-vxworks.adb (Set_Stack_Limit_For_Current_Task): Set stack
      	limit to 12000 decimal vice 12000 hexadecimal.
      
      From-SVN: r230315
      Arnaud Charlet committed
    • [multiple changes] · bc38dbb4
      2015-11-13  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch9.adb, exp_fixd.adb, exp_util.adb, g-debpoo.adb,
      	impunit.adb, scos.ads, sem_ch4.adb, sem_prag.adb,
      	s-stchop-vxworks.adb: Minor reformatting.
      
      2015-11-13  Tristan Gingold  <gingold@adacore.com>
      
      	* s-rident.ads (Profile_Info): Enable Pure_Barriers for
      	GNAT_Extended_Ravenscar.
      
      2015-11-13  Bob Duff  <duff@adacore.com>
      
      	* sem_ch6.adb (Check_Private_Overriding): Detect the special
      	case where the overriding subprogram is overriding a subprogram
      	that was declared in the same private part.
      
      From-SVN: r230314
      Arnaud Charlet committed
    • Enhance Changelog entry related to PR ipa/68311. · b512289b
      From-SVN: r230313
      Martin Liska committed
    • Fix memory leaks in graphite · ec17e433
      	* graphite-poly.c (free_scop): Release scop->drs vector.
      	* graphite-scop-detection.c (scop_detection::harmful_stmt_in_region):
      	Release dom vector.
      	(try_generate_gimple_bb): Use vNULL as a default initialization
      	for vectors.
      
      From-SVN: r230312
      Martin Liska committed
    • re PR ipa/68311 (gcc/ipa-icf.c:3041: possible sequence point error ?) · c9ab724f
      Fix PR ipa/68311
      
      	PR ipa/68311
      	* ipa-icf.c (sem_item_optimizer::traverse_congruence_split):
      	Replace ctor with auto_vec and initialization in a loop.
      
      From-SVN: r230311
      Martin Liska committed
    • re PR tree-optimization/68306 (ICE: in vectorizable_store, at tree-vect-stmts.c:5651) · 52eab378
      2015-11-13  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/68306
      	* tree-vect-data-refs.c (verify_data_ref_alignment): Move
      	loop related checks ...
      	(vect_verify_datarefs_alignment): ... here.
      	(vect_slp_analyze_and_verify_node_alignment): Compute and
      	verify alignment of the single DR that it matters.
      	* tree-vect-stmts.c (vectorizable_store): Add an assert.
      	(vectorizable_load): Add a comment.
      	* tree-vect-slp.c (vect_analyze_slp_cost_1): Fix DR used
      	for determining load cost.
      
      	* gcc.dg/pr68306.c: Adjust.
      	* gcc.dg/pr68306-2.c: New testcase.
      	* gcc.dg/pr68306-3.c: Likewise.
      
      From-SVN: r230310
      Richard Biener committed
    • tree-vect-loop.c (vect_determine_vectorization_factor): Check mix of boolean and… · e4af0bc4
      tree-vect-loop.c (vect_determine_vectorization_factor): Check mix of boolean and integer vectors in a single statement.
      
      gcc/
      
      	* tree-vect-loop.c (vect_determine_vectorization_factor): Check
      	mix of boolean and integer vectors in a single statement.
      	* tree-vect-slp.c (vect_mask_constant_operand_p): New.
      	(vect_get_constant_vectors): Use vect_mask_constant_operand_p to
      	determine constant type.
      	* tree-vect-stmts.c (vectorizable_comparison): Provide vectype
      	for loop invariants.
      
      gcc/testsuite/
      
      	* g++.dg/vect/simd-bool-comparison-1.cc: New test.
      	* g++.dg/vect/simd-bool-comparison-2.cc: New test.
      
      From-SVN: r230309
      Ilya Enkovich committed
    • exp_ch9.adb: Minor reformatting and typo fixes. · f7259dd4
      2015-11-13  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_ch9.adb: Minor reformatting and typo fixes.
      
      From-SVN: r230308
      Gary Dismukes committed
    • Minor clean up. · 90c7899a
      From-SVN: r230307
      Arnaud Charlet committed
    • * include/experimental/bits/shared_ptr.h: Tweak comments. · 011b25e4
      From-SVN: r230306
      Jonathan Wakely committed
    • [multiple changes] · b8c9f7af
      2015-11-13  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* init.c [Darwin/arm64]: Move __gnat_sigtramp implementation to...
      	(__gnat_map_signal): New function.
      	(__gnat_error_handler):
      	Adjust the context and call above function.
      	* sigtramp-armios.c: ...here.  New file.
      
      2015-11-13  Arnaud Charlet  <charlet@adacore.com>
      
      	* bcheck.adb (Check_Consistent_Restrictions): Do not check
      	consistency of No_Dependence for runtime units.
      
      2015-11-13  Tristan Gingold  <gingold@adacore.com>
      
      	* s-rident.ads (Restriction_Id): Add Pure_Barriers.
      	* restrict.ads (Implementation_Restriction): Add Pure_Barriers.
      	* exp_ch9.adb (Expand_Entry_Barrier): Create
      	Is_Simple_Barrier_Name function, add Is_Pure_Barrier and
      	Check_Pure_Barriers.
      
      2015-11-13  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_util.adb (Get_Cursor_Type): To determine whether a function
      	First is the proper Iterable primitive, use the base type of the
      	first formal rather than the type. This is needed in the unusual
      	case where the Iterable aspect is specified for an integer type.
      
      From-SVN: r230305
      Arnaud Charlet committed
    • [multiple changes] · 4e9ee595
      2015-11-13  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch4.adb (Constant_Indexing_OK): If the indexing is the
      	prefix of a procedure call assume that constant indexing is
      	not chosen.
      
      2015-11-13  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* sigtramp.h: Fix formatting throughout, do not include other
      	headers, add missing preprocessor condition and 'extern' keywords.
      	* sigtramp-armdroid.c: Include <sys/ucontext.h>.
      	* init.c [Android]: Likewise.
      
      From-SVN: r230304
      Arnaud Charlet committed
    • Minor syntactic improvement. · 746fb0c5
      From-SVN: r230303
      Arnaud Charlet committed
    • [multiple changes] · 7dae9ca0
      2015-11-13  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* init.c [Darwin/arm64] (__gnat_sigtramp): Do not increment PC,
      	fix CFI and add return sequence.
      
      2015-11-13  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_fixd.adb (Expand_Convert_Float_To_Fixed): If the conversion
      	comes from an attribute reference 'Round, the operation must
      	round and not truncate.
      	* sem_res.adb, sem_ch6.adb: Minor editing.
      
      From-SVN: r230302
      Arnaud Charlet committed
    • fixup changelog entry · 9babab64
      2015-11-13  Dominique d'Humieres <dominiq@lps.ens.fr>
      
      From-SVN: r230301
      Dominique d'Humieres committed
    • Implement std::experimental::shared_ptr with array support · 930d5602
      2015-11-13  Fan You  <youfan.noey@gmail.com>
      	    Jonathan Wakely  <jwakely@redhat.com>
      
      	* include/Makefile.am: Add new header.
      	* include/Makefile.in: Regenerate.
      	* include/experimental/bits/shared_ptr.h: New.
      	* include/experimental/memory: Include new header.
      	* testsuite/experimental/memory/shared_ptr/assign/assign.cc: New.
      	* testsuite/experimental/memory/shared_ptr/cast/cast.cc: New.
      	* testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
      	New.
      	* testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: New.
      	* testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: New.
      	* testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: New.
      	* testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc: New.
      	* testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc: New.
      	* testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: New.
      	* testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc: New.
      	* testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
      	New.
      	* testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc: New.
      	* testsuite/experimental/memory/shared_ptr/dest/dest.cc: New.
      	* testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: New.
      	* testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: New.
      	* testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
      	New.
      	* testsuite/experimental/memory/shared_ptr/observers/operators.cc:
      	New.
      	* testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
      	New.
      	* testsuite/experimental/memory/shared_ptr/observers/use_count.cc: New.
      
      Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
      
      From-SVN: r230300
      Fan You committed
    • re PR fortran/47266 (Optimization: Declare PRIVATE module procedures as… · 755fdaab
      re PR fortran/47266 (Optimization: Declare PRIVATE module procedures as "TREE_PUBLIC = 0" ("static function"))
      
      2015-11-13  Dominique d'Humieres <dominiq@lps.ens.fr>
      
      	PR fortran/47266
      	* gfortran.dg/warn_unused_function_2.f90: New test.
      
      From-SVN: r230298
      Dominique d'Humieres committed
    • Optimize condition reductions where the result is an integer induction variable · 360e3406
      2015-11-13  Alan Hayward <alan.hayward@arm.com>
      
      gcc/
      	PR tree-optimization/66558
      	* tree-vect-loop.c (is_integer_induction):Add.
      	(vectorizable_reduction): Add integer induction checks.
      
      gcc/testsuite/
      	PR tree-optimization/66558
      	* gcc.dg/vect/pr65947-1.c: Add checks.
      	* gcc.dg/vect/pr65947-2.c: Add checks.
      	* gcc.dg/vect/pr65947-3.c: Add checks.
      	* gcc.dg/vect/pr65947-4.c: Add checks.
      	* gcc.dg/vect/pr65947-5.c: Add checks.
      	* gcc.dg/vect/pr65947-6.c: Add checks.
      	* gcc.dg/vect/pr65947-10.c: Add checks.
      	* gcc.dg/vect/pr65947-12.c: New test.
      	* gcc.dg/vect/pr65947-13.c: New test.
      
      From-SVN: r230297
      Alan Hayward committed
    • Revert [ARM] Remove neon-testgen.ml and generated tests. · 8f215e0f
      From-SVN: r230296
      Christophe Lyon committed
    • Define alias templates using polymorphic memory resources · 80144045
      	* include/Makefile.am: Add new header.
      	* include/Makefile.in: Regenerate.
      	* include/experimental/memory_resource: Add feature-test macro.
      	* include/experimental/regex: New.
      	* include/experimental/deque: Add alias template using PMR.
      	* include/experimental/forward_list: Likewise.
      	* include/experimental/list: Likewise.
      	* include/experimental/map: Likewise.
      	* include/experimental/set: Likewise.
      	* include/experimental/string: Likewise.
      	* include/experimental/unordered_map: Likewise.
      	* include/experimental/unordered_set: Likewise.
      	* include/experimental/vector: Likewise.
      
      From-SVN: r230295
      Jonathan Wakely committed