1. 14 Nov, 2015 5 commits
    • ChangeLog: Fix whitespace. · e63e20c0
      	* ChangeLog: Fix whitespace.
      	* testsuite/ChangeLog: Ditto.
      
      From-SVN: r230372
      Uros Bizjak committed
    • vbase1.C: XFAIL powerpc*-*-*. · f0c4658b
      * g++.dg/init/vbase1.C: XFAIL powerpc*-*-*.
      * g++.dg/cpp/ucn-1.C: Expect error for dollar sign identifier on AIX.
      
      From-SVN: r230371
      David Edelsohn committed
    • Daily bump. · 1a5254ed
      From-SVN: r230370
      GCC Administrator committed
    • sh.md (symGOT_load): Don't set stack_chk_guard_p for TARGET_FDPIC. · 6a60e03e
      2015-11-13  Rich Felker <dalias@libc.org>
      * config/sh/sh.md (symGOT_load): Don't set stack_chk_guard_p for TARGET_FDPIC.
      
      From-SVN: r230366
      Rich Felker committed
    • Merge C++ delayed folding branch. · cda0a029
      	* call.c (build_conditional_expr_1, convert_like_real)
      	(convert_arg_to_ellipsis, convert_for_arg_passing): Don't fold.
      	(build_new_op_1, build_over_call, build_cxx_call): Fold for warnings.
      	* class.c (build_base_path, determine_primary_bases)
      	(update_vtable_entry_for_fn, check_bitfield_decl)
      	(layout_nonempty_base_or_field, layout_empty_base)
      	(propagate_binfo_offsets, include_empty_classes)
      	(layout_class_type, build_vbase_offset_vtbl_entries): Use
      	fold_convert.
      	* constexpr.c (cxx_eval_builtin_function_call): Fold away the NOP_EXPR.
      	(cxx_eval_call_expression): Handle MEM_REF.
      	(cxx_eval_pointer_plus_expression): Fold the second operand.
      	(cxx_eval_constant_expression): Handle MEM_REF, UNARY_PLUS_EXPR.
      	(fold_simple_1, fold_simple): New.
      	(maybe_constant_value_1): Factor out from maybe_constant_value.
      	(cv_cache, maybe_constant_value): Cache results.
      	(maybe_constant_init): Handle null input.
      	(potential_constant_expression_1): Handle RESULT_DECL, EMPTY_CLASS_EXPR.
      	* cp-array-notation.c (build_array_notation_ref): Fold operands.
      	* cp-gimplify.c (cp_fold_r, cp_fold): New.
      	(cp_genericize_r): Use fold_convert.  Don't fold SIZEOF_EXPR.
      	(cp_genericize): Fold everything.
      	(contains_label_1, contains_label_p): New.
      	(cp_fold, cp_fully_fold): New.
      	* cp-tree.h (class cache_map): New.
      	* cvt.c (cp_convert_to_pointer, ocp_convert): Use convert_to_*_nofold.
      	(cp_convert_and_check): Use cp_fully_fold.
      	(convert, convert_force): Don't fold.
      	* decl.c (fold_sizeof_expr): Change from fold_sizeof_expr_r.
      	(compute_array_index_type): Use cp_fully_fold.
      	(build_enumerator): Use fold_convert.
      	* decl2.c (get_guard_cond, set_guard): Use fold_convert.
      	* init.c (build_zero_init_1): Fold zero-initializers.
      	(build_new_1): Fold nelts calculations.
      	(build_vec_delete_1): Fold conversions.
      	(build_vec_init): Fold maxindex.
      	* parser.c (cp_parser_binary_expression): Fold LHS of || and &&.
      	(cp_parser_question_colon_clause): Fold LHS.
      	* pt.c (convert_nontype_argument): Fold nullptr conversion.
      	* semantics.c (finish_unary_op_expr): Fold for warnings.
      	(handle_omp_array_sections_1): Fold length and low bound.
      	(handle_omp_for_class_iterator): Fold various things.
      	* tree.c (builtin_valid_in_constant_expr_p): Add
      	BUILT_IN_ATOMIC_ALWAYS_LOCK_FREE.
      	(convert_bitfield_to_declared_type): Don't fold.
      	(handle_init_priority_attribute): Fold.
      	(fold_if_not_in_template): Remove.
      	* typeck.c (decay_conversion, build_class_member_access_expr)
      	(build_simple_component_ref, cp_build_array_ref, build_vec_cmp)
      	(cp_pointer_int_sum, pointer_diff): Don't fold.
      	(cp_build_binary_op): Fold for warnings and PMF ops.
      	(cp_build_unary_op): Fold negation of a constant, nothing else.
      	(expand_ptrmemfunc_cst): Fold operations.
      	* typeck2.c (split_nonconstant_init): Fold initializer.
      	(store_init_value): Likewise.
      	(check_narrowing): Try folding.
      	* config-lang.in (gtfiles): Add cp-gimplify.c.
      
      From-SVN: r230365
      Jason Merrill committed
  2. 13 Nov, 2015 35 commits
    • [Patch,tree-optimization]: Add new path Splitting pass on tree ssa · 8fe17e23
      representation
      
      	* Makefile.in (OBJS): Add gimple-ssa-split-paths.o
      	* common.opt (-fsplit-paths): New flag controlling path splitting.
      	* doc/invoke.texi (fsplit-paths): Document.
      	* opts.c (default_options_table): Add -fsplit-paths to -O2.
      	* passes.def: Add split_paths pass.
      	* timevar.def (TV_SPLIT_PATHS): New timevar.
      	* tracer.c: Include "tracer.h"
      	(ignore_bb_p): No longer static.
      	(transform_duplicate): New function, broken out of tail_duplicate.
      	(tail_duplicate): Use transform_duplicate.
      	* tracer.h (ignore_bb_p): Declare
      	(transform_duplicate): Likewise.
      	* tree-pass.h (make_pass_split_paths): Declare.
      	* gimple-ssa-split-paths.c: New file.
      
      	* gcc.dg/tree-ssa/split-path-1.c: New test.
      
      Co-Authored-By: Jeff Law <law@redhat.com>
      
      From-SVN: r230364
      Ajit Agarwal committed
    • Add non-folding variants for convert_to_*. · 269e63b7
      2015-11-13  Kai Tietz  <ktietz70@googlemail.com>
      	    Marek Polacek  <polacek@redhat.com>
      	    Jason Merrill  <jason@redhat.com>
      
      gcc/
      	* convert.c (maybe_fold_build1_loc): New.
      	(maybe_fold_build2_loc): New.
      	(convert_to_pointer_1): Split out from convert_to_pointer.
      	(convert_to_pointer_nofold): New.
      	(convert_to_real_1): Split out from convert_to_real.
      	(convert_to_real_nofold): New.
      	(convert_to_integer_1): Split out from convert_to_integer.
      	(convert_to_integer_nofold): New.
      	(convert_to_complex_1): Split out from convert_to_complex.
      	(convert_to_complex_nofold): New.
      	* convert.h: Declare new functions.
      	* tree-complex.c (create_one_component_var): Break up line to
      	avoid sequence point issues.
      gcc/c-family/
      	* c-lex.c (interpret_float): Use fold_convert.
      
      Co-Authored-By: Jason Merrill <jason@redhat.com>
      Co-Authored-By: Marek Polacek <polacek@redhat.com>
      
      From-SVN: r230359
      Kai Tietz committed
    • fold-const.c (fold_convert_const): Fold changing cv-quals on VECTOR_CST. · 9514e74f
      	* fold-const.c (fold_convert_const): Fold changing cv-quals on
      	VECTOR_CST.
      
      From-SVN: r230358
      Jason Merrill committed
    • * hash-map.h (hash_map::empty): New. · e45639f3
      From-SVN: r230357
      Jason Merrill committed
    • omp-low.c (scan_sharing_clauses): Accept INDEPENDENT, AUTO & SEQ. · c5a64cfe
      	gcc/
      	* gcc/omp-low.c (scan_sharing_clauses): Accept INDEPENDENT, AUTO &
      	SEQ.
      	(oacc_loop_fixed_partitions): Correct return type to bool.
      	(oacc_loop_auto_partitions): New.
      	(oacc_loop_partition): Take mask argument, call
      	oacc_loop_auto_partitions.
      	(execute_oacc_device_lower): Provide mask to oacc_loop_partition.
      
      	gcc/testsuite/
      	* c-c++-common/goacc/loop-auto-1.c: New.
      
      	libgomp/
      	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
      
      From-SVN: r230354
      Nathan Sidwell committed
    • target-supports.exp (check_effective_target_offload_nvptx): New. · 7bcc3c86
      	* lib/target-supports.exp (check_effective_target_offload_nvptx): New.
      	* gcc.dg/goacc/nvptx-merged-loop.c: New.
      
      From-SVN: r230353
      Nathan Sidwell committed
    • re PR fortran/68319 (ICE on using interface with included entry) · 5f0ba745
      2015-11-13  Steven G. Kargl  <kargl@gccc.gnu.org>
      
      	PR fortran/68319
      	* decl.c (gfc_match_data, gfc_match_entry): Enforce F2008:C1206.
      	* io.c (gfc_match_format): Ditto.
      	* match.c (gfc_match_st_function): Ditto.
      
      2015-11-13  Steven G. Kargl  <kargl@gccc.gnu.org>
      
      	PR fortran/68319
      	* gfortran.dg/pr68319.f90: New test.
      
      From-SVN: r230351
      Steven G. Kargl committed
    • 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