1. 08 Jun, 2016 11 commits
    • [AArch64, 5/6] Reimplement fabd intrinsics & merge rtl patterns · a672fa12
      	* config/aarch64/aarch64-builtins.def (fabd): New builtins for modes
      	VALLF.
      	* config/aarch64/aarch64-simd.md (fabd<mode>_3): Extend modes from VDQF
      	to VALLF.  Rename to "fabd<mode>3".
      	"*fabd_scalar<mode>3): Delete.
      	* config/aarch64/arm_neon.h (vabds_f32): Remove inline assembly.
      	Use builtin.
      	(vabdd_f64): Likewise.
      	(vabd_f32): Likewise.
      	(vabd_f64): Likewise.
      	(vabdq_f32): Likewise.
      	(vabdq_f64): Likewise.
      
      From-SVN: r237204
      Jiong Wang committed
    • [AArch64, 4/6] Reimplement frsqrts intrinsics · 00ea75d4
      	* config/aarch64/aarch64-builtins.def (rsqrts): New builtins for modes
      	VALLF.
      	* config/aarch64/aarch64-simd.md (aarch64_rsqrts_<mode>3): Rename to
      	"aarch64_rsqrts<mode>".
      	* config/aarch64/aarch64.c (get_rsqrts_type): Update gen* name.
      	* config/aarch64/arm_neon.h (vrsqrtss_f32): Remove inline assembly.  Use
      	builtin.
      	(vrsqrtsd_f64): Likewise.
      	(vrsqrts_f32): Likewise.
      	(vrsqrts_f64): Likewise.
      	(vrsqrtsq_f32): Likewise.
      	(vrsqrtsq_f64): Likewise.
      
      From-SVN: r237203
      Jiong Wang committed
    • [AArch64, 3/6] Reimplement frsqrte intrinsics · 2a823433
      	* config/aarch64/aarch64-builtins.def (rsqrte): New builtins for modes
      	VALLF.
      	* config/aarch64/aarch64-simd.md (aarch64_rsqrte_<mode>2): Rename to
      	"aarch64_rsqrte<mode>".
      	* config/aarch64/aarch64.c (get_rsqrte_type): Update gen* name.
      	* config/aarch64/arm_neon.h (vrsqrts_f32): Remove inline assembly.  Use
      	builtin.
      	(vrsqrted_f64): Likewise.
      	(vrsqrte_f32): Likewise.
      	(vrsqrte_f64): Likewise.
      	(vrsqrteq_f32): Likewise.
      	(vrsqrteq_f64): Likewise.
      
      From-SVN: r237202
      Jiong Wang committed
    • [AArch64, 2/6] Reimplement vector fixed-point intrinsics · 2644d4d9
      	* config/aarch64/aarch64-builtins.def (scvtf): Register vector modes.
      	(ucvtf): Likewise.
      	(fcvtzs): Likewise.
      	(fcvtzu): Likewise.
      	* config/aarch64/aarch64-simd.md
      	(<FCVT_F2FIXED:fcvt_fixed_insn><VDQF:mode>3): New.
      	(<FCVT_FIXED2F:fcvt_fixed_insn><VDQ_SDI:mode>3): Likewise.
      	* config/aarch64/arm_neon.h (vcvt_n_f32_s32): Remove inline assembly.
      	Use builtin.
      	(vcvt_n_f32_u32): Likewise.
      	(vcvt_n_s32_f32): Likewise.
      	(vcvt_n_u32_f32): Likewise.
      	(vcvtq_n_f32_s32): Likewise.
      	(vcvtq_n_f32_u32): Likewise.
      	(vcvtq_n_f64_s64): Likewise.
      	(vcvtq_n_f64_u64): Likewise.
      	(vcvtq_n_s32_f32): Likewise.
      	(vcvtq_n_s64_f64): Likewise.
      	(vcvtq_n_u32_f32): Likewise.
      	(vcvtq_n_u64_f64): Likewise.
      	* config/aarch64/iterators.md (VDQ_SDI): New mode iterator.
      	(VSDQ_SDI): Likewise.
      	(fcvt_target): Support V4DI, V4SI and V2SI.
      	(FCVT_TARGET): Likewise.
      
      From-SVN: r237201
      Jiong Wang committed
    • [AArch64, 1/6] Reimplement scalar fixed-point intrinsics · 3f598afe
              * config/aarch64/aarch64-builtins.c (TYPES_BINOP_USS): New
              (TYPES_BINOP_SUS): Likewise.
              (aarch64_simd_builtin_data): Update include file name.
              (aarch64_builtins): Likewise.
              * config/aarch64/aarch64-simd-builtins.def (scvtf): New entries
              for conversion between scalar float-point and fixed-point.
              (ucvtf): Likewise.
              (fcvtzs): Likewise.
              (fcvtzu): Likewise.
              * config/aarch64/aarch64.md
              (<FCVT_F2FIXED:fcvt_fixed_insn><GPF:mode>3: New
              pattern for conversion between scalar float to fixed-pointer.
              (<FCVT_FIXED2F:fcvt_fixed_insn><GPI:mode>: Likewise.
              (UNSPEC_FCVTZS): New UNSPEC enumeration.
              (UNSPEC_FCVTZU): Likewise.
              (UNSPEC_SCVTF): Likewise.
              (UNSPEC_UCVTF): Likewise.
              * config/aarch64/arm_neon.h (vcvtd_n_f64_s64): Remove inline assembly.
      	Use builtin.
              (vcvtd_n_f64_u64): Likewise.
              (vcvtd_n_s64_f64): Likewise.
              (vcvtd_n_u64_f64): Likewise.
              (vcvtd_n_f32_s32): Likewise.
              (vcvts_n_f32_u32): Likewise.
              (vcvtd_n_s32_f32): Likewise.
              (vcvts_n_u32_f32): Likewise.
              * config/aarch64/iterators.md (fcvt_target): Support integer to float
      	mapping.
              (FCVT_TARGET): Likewise.
              (FCVT_FIXED2F): New iterator.
              (FCVT_F2FIXED): Likewise.
              (fcvt_fixed_insn): New define_int_attr.
      
      From-SVN: r237200
      Jiong Wang committed
    • predict.c (pass_strip_predict_hints::execute): Cleanup CFG if some statements was removed. · cd1d802a
      
      	* predict.c (pass_strip_predict_hints::execute): Cleanup CFG if
      	some statements was removed.
      
      From-SVN: r237199
      Jan Hubicka committed
    • tree-vect-data-refs.c (vect_analyze_data_refs): Remove debug newline. · 15bdf5be
      2016-06-08  Alan Hayward  <alan.hayward@arm.com>
      
      gcc/
      	* tree-vect-data-refs.c (vect_analyze_data_refs): Remove debug newline.
      	* tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): likewise.
      	(vect_can_advance_ivs_p): likewise.
      	(vect_update_ivs_after_vectorizer): likewise.
      	* tree-vect-loop.c (vect_determine_vectorization_factor): likewise.
      	(vect_analyze_scalar_cycles_1): likewise.
      	(vect_analyze_loop_operations): likewise.
      	(report_vect_op): likewise.
      	(vect_is_slp_reduction): likewise.
      	(vect_is_simple_reduction): likewise.
      	(get_initial_def_for_induction): likewise.
      	(vect_transform_loop): likewise.
      	* tree-vect-patterns.c (vect_recog_dot_prod_pattern): likewise.
      	(vect_recog_sad_pattern): likewise.
      	(vect_recog_widen_sum_pattern): likewise.
      	(vect_recog_widening_pattern): likewise.
      	(vect_recog_divmod_pattern): likewise.
      	* tree-vect-slp.c (vect-build-slp_tree_1): likewise.
      	(vect_analyze_slp_instance): likewise.
      	(vect_transform_slp_perm_load): likewise.
      	(vect_schedule_slp_instance): likewise.
      
      From-SVN: r237198
      Alan Hayward committed
    • vect-live-2.c: Update effective target. · ce0607bb
      2016-06-08  Alan Hayward  <alan.hayward@arm.com>
      
      gcc/testsuite/
      	* gcc.dg/vect/vect-live-2.c: Update effective target.
      	* gcc.dg/vect/vect-live-slp-3.c: Likewise.
      	* lib/target-supports.exp: Add aarch64 to vect_long.
      
      From-SVN: r237197
      Alan Hayward committed
    • re PR c/71426 (gcc ICE on x86_64-linux-gnu in get_parm_info, at c/c-decl.c:7059) · 08203f73
      	PR c/71426
      	* c-decl.c (get_parm_info): Don't crash on an assert on invalid
      	code.
      
      	* gcc.dg/noncompile/pr71426.c: New test.
      
      From-SVN: r237196
      Marek Polacek committed
    • re PR c/71418 (gcc ICE on x86_64-linux-gnu in min_align_of_type, at stor-layout.c:2402) · 92a5f2ba
      	PR c/71418
      	* c-decl.c (grokdeclarator): Check TYPE_P.
      
      	* gcc.dg/noncompile/pr71418.c: New test.
      
      From-SVN: r237195
      Marek Polacek committed
    • Daily bump. · 6c40eb00
      From-SVN: r237194
      GCC Administrator committed
  2. 07 Jun, 2016 20 commits
    • predict.c (predict_iv_comparison): Mention that heuristics is broken. · d1fcc2bd
      
      	* predict.c (predict_iv_comparison): Mention that heuristics is broken.
      	(return_prediction): PRED_CONST_RETURN predict return as not taken.
      	* predict.def (PRED_CONTINUE): Change hitrate 50->67
      	(PRED_LOOP_BRANCH): Document predictor as broken.
      	(PRED_LOOP_EXIT): Change hitrate 91->92.
      	(PRED_LOOP_EXTRA_EXIT): Change hitrate 91->83.
      	(PRED_POINTER, PRED_TREE_POINTER): Change hitrate 85->70.
      	(PRED_OPCODE_POSITIVE): Change hitrate 79->64.
      	(PRED_OPCODE_NONEQUAL): Change hitrate 91->66.
      	(PRED_TREE_OPCODE_POSITIVE): Change hitrate 73->64
      	(PRED_TREE_OPCODE_NONEQUAL): Chnage hitrate 72->66
      	(PRED_CALL): Chane hitrate 71->67.
      	(PRED_TREE_EARLY_RETURN): Document issues, change hitrate 61->54.
      	(PRED_GOTO): Document as unused right now.
      	(PRED_CONST_RETURN): Change hitrate 67->69
      	(PRED_NEGATIVE_RETURN): Change hitrate 96->98
      	(PRED_NULL_RETURN): Change hitrate 91->90.
      	(PRED_LOOP_IV_COMPARE_GUESS): Change hitrate to 98.
      	(PRED_FORTRAN_FAIL_ALLOC): Change hitrate to 62; document issues.
      	(PRED_FORTRAN_SIZE_ZERO): Change hitrate to 99.
      	* gcc.dg/ipa/inlinehint-4.c: Disable partial inlining.
      	* gcc.dg/predict-1.c: Update template for new predictor hitrates.
      	* gcc.dg/predict-3.c: Update template.
      	* gcc.dg/predict-5.c: Update template.
      	* gcc.dg/predict-6.c: Update template.
      	* gcc.dg/predict-9.c: Update template.
      	* gcc.dg/predict-9.c: Update template.
      	* gcc.dg/tree-ssa/attr-hotcold-2.c: Update template.
      
      From-SVN: r237185
      Jan Hubicka committed
    • tuple (_Head_base<>): Default specialization condition at type declaration. · 373c0095
      2016-06-07  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/std/tuple (_Head_base<>): Default specialization condition at
      	type declaration.
      
      From-SVN: r237184
      François Dumont committed
    • This patch adds support for the missing versions of the vec_mul altivec... · a23e6f1c
      This patch adds support for the missing versions of the vec_mul altivec
      builtins from the Power Architecture 64-Bit ELF V2 ABI OpenPOWER ABI for
      Linux Supplement (16 July 2015 Version 1.1). There are many of the builtins
      that are missing and this is part of a series of patches to add them.
      
      There aren't instructions for the {un}signed char, {un}signed short, and
      {un}signed int versions of vec_mul so the output code is built from other
      built-ins and operations that do have instructions.
      
      The new test case is an executable test which verifies that the generated
      code produces expected values. C macros were used so that the same
      test case could be used for all the various supported types.
      
      Bootstrapped and tested on powerpc64le-unknown-linux-gnu and
      powerpc64-unknown-linux-gnu with no regressions. Is this ok for trunk?
      
      [gcc]
      
      2016-06-07  Bill Seurer  <seurer@linux.vnet.ibm.com>
      
      	* config/rs6000/altivec.h: Add __builtin_vec_mul.
      	* config/rs6000/rs6000-builtin.def (vec_mul): Change vec_mul to a
      	special case Altivec builtin.
      	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
      	VSX_BUILTIN_VEC_MUL (replaced with special case code).
      	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
      	code for ALTIVEC_BUILTIN_VEC_MUL.
      	* config/rs6000/rs6000.c (altivec_init_builtins): Add definition
      	for __builtin_vec_mul.
      
      [gcc/testsuite]
      
      2016-06-07  Bill Seurer  <seurer@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/vec-mul.c: New test.
      
      From-SVN: r237183
      Bill Seurer committed
    • invoke.texi (RS/6000 and PowerPC Options): Document -mhtm and -mno-htm. · ca51b2af
      	* doc/invoke.texi (RS/6000 and PowerPC Options): Document -mhtm and
      	-mno-htm.
      
      From-SVN: r237182
      Peter Bergner committed
    • spellcheck.c: add test_find_closest_string · 484b59c4
      gcc/ChangeLog:
      	* spellcheck.c (selftest::test_find_closest_string): New function.
      	(spellcheck_c_tests): Call the above.
      
      From-SVN: r237181
      David Malcolm committed
    • [simplify-rtx] Fix unused variable warning in simplify_cond_clz_ctz on some targets · e10183dc
      	* simplify-rtx.c (simplify_cond_clz_ctz): Delete 'mode' local
      	variable.
      
      From-SVN: r237180
      Kyrylo Tkachov committed
    • C: add fixit hint to misspelled field names · 6ffd47b7
      gcc/c/ChangeLog:
      	* c-parser.c (c_parser_postfix_expression): In __builtin_offsetof
      	and structure element reference, capture the location of the
      	element name token and pass it to build_component_ref.
      	(c_parser_postfix_expression_after_primary): Likewise for
      	structure element dereference.
      	(c_parser_omp_variable_list): Likewise for
      	OMP_CLAUSE_{_CACHE, MAP, FROM, TO},
      	* c-tree.h (build_component_ref): Add location_t param.
      	* c-typeck.c (build_component_ref): Add location_t param
      	COMPONENT_LOC.  Use it, if available, when issuing hints about
      	mispelled member names to provide a fixit replacement hint.
      
      gcc/objc/ChangeLog:
      	* objc-act.c (objc_build_component_ref): Update call
      	to build_component_ref for added param, passing UNKNOWN_LOCATION.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/spellcheck-fields-2.c: New test case.
      
      From-SVN: r237176
      David Malcolm committed
    • sse.md (avx_vec_concat<mode>): Add v=v,vm and Yv=Yv,C alternatives. · 0f471dc3
      	* config/i386/sse.md (avx_vec_concat<mode>): Add v=v,vm and
      	Yv=Yv,C alternatives.
      
      From-SVN: r237175
      Jakub Jelinek committed
    • re PR c++/61564 (#pragma GCC optimize ("-fno-lto") causes the compiler to crash) · bfd67b47
      2016-06-07  Richard Biener  <rguenther@suse.de>
      
      	PR c/61564
      	* c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
      	options and warn about others.
      	* common.opt (ffast-math): Make Optimization.
      
      	* gcc.dg/Wpragmas-1.c: New testcase.
      	* gcc.dg/Wattributes-4.c: Likewise.
      	* gcc.dg/ipa/pr70646.c: Drop optimize pragma in favor of dg-option
      	entry.
      
      From-SVN: r237174
      Richard Biener committed
    • [MIPS] P5600 scheduler fix · 6dc04658
      gcc/
      	* config/mips/p5600.md (p5600_fpu_fadd): Remove checking for
      	`fabs' and `fneg' type attributes.
      	(p5600_fpu_fabs): Add `fmove' to the comment.
      
      Co-Authored-By: Prachi Godbole <prachi.godbole@imgtec.com>
      
      From-SVN: r237173
      Simon Dardis committed
    • gimple.c: Include builtins.h · ce120587
      
      	* gimple.c: Include builtins.h
      	(gimple_inexpensive_call_p): New function.
      	* gimple.h (gimple_inexpensive_call_p): Declare.
      	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Use it.
      	* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Likewise;
      	fix formatting.
      
      From-SVN: r237172
      Jan Hubicka committed
    • p64_p128.c: Remove spurious debug code. · 701b9a47
      * gcc.target/aarch64/advsimd-intrinsics/p64_p128.c: Remove spurious debug code.
      
      From-SVN: r237171
      Christophe Lyon committed
    • Update copyright dates · 48eae472
      	libcc1:
      	Update copyrights.
      
      	gotools:
      	Update copyrights.
      
      	contrib:
      	* update-copyright.py (LibMudflapFilter): Remove.
      	(GCCCmdLine.__init__): Add gotools, libcc1.
      	Remove libmudflap.
      	List unhandled intl, libcilkrts, libgo, liboffloadmic,
      	maintainer-scripts.
      
      From-SVN: r237169
      Rainer Orth committed
    • diagnostic.c (diagnostic_impl, [...]): New. · c3811744
      2016-06-07  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* diagnostic.c (diagnostic_impl, diagnostic_n_impl): New.
      	(inform, inform_at_rich_loc, inform_n, warning, warning_at,
      	warning_at_rich_loc, warning_n, pedwarn, permerror,
      	permerror_at_rich_loc, error, error_n, error_at, error_at_rich_loc,
      	sorry, fatal_error, internal_error, internal_error_no_backtrace):
      	Use the above.
      
      From-SVN: r237168
      Paolo Carlini committed
    • re PR tree-optimization/71428 (wrong code with -Os -fno-tree-forwprop (breaks in the .bswap dump)) · 6b80d6fa
      2016-06-07  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/71428
      	* tree-ssa-math-opts.c (perform_symbolic_merge): Properly distinguish
      	BIT_FIELD_REF op vs. load.
      
      	* gcc.dg/torture/pr71428.c: New testcase.
      
      From-SVN: r237167
      Richard Biener committed
    • re PR tree-optimization/71423 (wrong code at -Os and above on x86_64-linux-gnu) · 0f3f9437
      2016-06-07  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/71423
      	* match.pd ((X | ~Y) -> Y <= X): Properly invert the comparison
      	for signed ops.
      
      	* gcc.dg/torture/pr71423.c: New testcase.
      
      From-SVN: r237166
      Richard Biener committed
    • pa.md (call): Generate indirect long calls to non-local functions on TARGET_64BIT. · df32c0b3
      	* config/pa/pa.md (call): Generate indirect long calls to non-local
      	functions on TARGET_64BIT.
      	(call_value): Likewise.
      
      From-SVN: r237164
      John David Anglin committed
    • pa.md (call_val_reg_64bit): Remove "reg: DI " clobber from pattern and subsequent splitters. · 6552d0dd
      	* config/pa/pa.md (call_val_reg_64bit): Remove "reg: DI " clobber from
      	pattern and subsequent splitters.
      	(call_val_reg_64bit_post_reload): Likewise.
      
      From-SVN: r237163
      John David Anglin committed
    • Daily bump. · 69653742
      From-SVN: r237162
      GCC Administrator committed
  3. 06 Jun, 2016 9 commits
    • re PR tree-optimization/71408 (wrong code at -Os and above on x86_64-linux-gnu) · ec963f2a
      gcc/ChangeLog:
      
      2016-06-07  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	PR middle-end/71408
      	* tree-ssa-reassoc.c (zero_one_operation): Fix NEGATE_EXPR operand for
      	propagate_op_to_single_use.
      
      
      gcc/testsuite/ChangeLog:
      
      2016-06-07  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	PR middle-end/71408
      	* gcc.dg/tree-ssa/pr71408.c: New test.
      
      From-SVN: r237158
      Kugan Vivekanandarajah committed
    • re PR target/71281 (ICE on gcc trunk on knl, wsm, ivb and bdw targets (tree-ssa-reassoc)) · 46ab5b6e
      gcc/ChangeLog:
      
      2016-06-07  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	PR middle-end/71281
      	* tree-ssa-reassoc.c (reassociate_bb): Set uid for negate stmt.
      
      
      gcc/testsuite/ChangeLog:
      
      2016-06-07  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	PR middle-end/71281
      	* g++.dg/torture/pr71281.C: New test.
      
      From-SVN: r237157
      Kugan Vivekanandarajah committed
    • i386.h (enum ix86_enitity): Add X86_DIRFLAG. · c7ca8ef8
      	* config/i386/i386.h (enum ix86_enitity): Add X86_DIRFLAG.
      	(enum x86_dirflag_state): New enum.
      	(NUM_MODES_FOR_MODE_SWITCHING): Add X86_DIRFLAG_ANY.
      	(machine_function): Remove needs_cld.
      	(ix86_current_function_needs_cld): Remove.
      	* config/i386/i386.c (ix86_set_func_type): Set
      	ix86_optimize_mode_switching[X86_DIRFLAG] to 1.
      	(ix86_expand_prologue): Do not emit CLD here.
      	(ix86_dirflag_mode_needed): New function.
      	(ix86_dirflag_mode_entry): Ditto.
      	(ix86_mode_needed): Handle X86_DIRFLAG entity.
      	(ix86_mode_after): Ditto.
      	(ix86_mode_entry): Ditto.
      	(ix86_mode_exit): Ditto.
      	(ix86_emit_mode_set): Ditto.
      	* config/i386/i386.md (strmov_singleop): Set
      	ix86_optimize_mode_switching[X86_DIRFLAG] to 1 for TARGET_CLD.
      	Do not set ix86_current_function_needs_cld.
      	(rep_mov): Ditto.
      	(strset_singleop): Ditto.
      	(rep_stos): Ditto.
      	(cmpstrnqi_nz_1): Ditto.
      	(cmpstrnqi_1): Ditto.
      	(strlenqi_1): Ditto.
      
      From-SVN: r237156
      Uros Bizjak committed
    • re PR c/71362 (Wrong position for "error: size of unnamed array is negative") · 1f40cff3
      	PR c/71362
      	* c-parser.c (c_parser_direct_declarator): Set location.
      
      	* gcc.dg/pr71362.c: New test.
      
      From-SVN: r237155
      Marek Polacek committed
    • re PR c++/70847 (exponential time in cp_fold for chained virtual function calls) · 6f5bcd24
      	PR c++/70847
      	PR c++/71330
      	PR c++/71393
      	* cp-gimplify.c (cp_fold_r): Set *walk_subtrees = 0 and return NULL
      	right after cp_fold call if cp_fold has returned the same stmt
      	already in some earlier cp_fold_r call.
      	(cp_fold_function): Add pset automatic variable, pass its address
      	to cp_walk_tree.
      
      	* g++.dg/opt/pr70847.C: New test.
      	* g++.dg/ubsan/pr70847.C: New test.
      	* g++.dg/ubsan/pr71393.C: New test.
      
      Co-Authored-By: Patrick Palka <ppalka@gcc.gnu.org>
      
      From-SVN: r237151
      Jakub Jelinek committed
    • re PR tree-optimization/71259 (GCC trunk emits wrong code) · 158beb4a
      	PR tree-optimization/71259
      	* tree-vect-slp.c (vect_get_constant_vectors): For
      	VECTOR_BOOLEAN_TYPE_P, return all ones constant instead of
      	one for constant op, and use COND_EXPR for non-constant.
      
      	* gcc.dg/vect/pr71259.c: New test.
      
      From-SVN: r237147
      Jakub Jelinek committed
    • * fr.po: Update. · 8af83210
      From-SVN: r237145
      Joseph Myers committed
    • Selftest framework · d9b950dd
      gcc/ChangeLog:
      	* Makefile.in (OBJS): Add function-tests.o,
      	hash-map-tests.o, hash-set-tests.o, rtl-tests.o,
      	selftest-run-tests.o.
      	(OBJS-libcommon): Add selftest.o.
      	(OBJS-libcommon-target): Add selftest.o.
      	(all.internal): Add "selftest".
      	(all.cross): Likewise.
      	(selftest): New phony target.
      	(s-selftest): New target.
      	(selftest-gdb): New phony target.
      	(COLLECT2_OBJS): Add selftest.o.
      	* bitmap.c: Include "selftest.h".
      	(selftest::test_gc_alloc): New function.
      	(selftest::test_set_range): New function.
      	(selftest::test_clear_bit_in_middle): New function.
      	(selftest::test_copying): New function.
      	(selftest::test_bitmap_single_bit_set_p): New function.
      	(selftest::bitmap_c_tests): New function.
      	* common.opt (fself-test): New.
      	* diagnostic-show-locus.c: Include "selftest.h".
      	(make_range): New function.
      	(test_range_contains_point_for_single_point): New function.
      	(test_range_contains_point_for_single_line): New function.
      	(test_range_contains_point_for_multiple_lines): New function.
      	(assert_eq): New function.
      	(test_get_line_width_without_trailing_whitespace): New function.
      	(selftest::diagnostic_show_locus_c_tests): New function.
      	* et-forest.c: Include "selftest.h".
      	(selftest::test_single_node): New function.
      	(selftest::test_simple_tree): New function.
      	(selftest::test_disconnected_nodes): New function.
      	(selftest::et_forest_c_tests): New function.
      	* fold-const.c: Include "selftest.h".
      	(selftest::assert_binop_folds_to_const): New function.
      	(selftest::assert_binop_folds_to_nonlvalue): New function.
      	(selftest::test_arithmetic_folding): New function.
      	(selftest::fold_const_c_tests): New function.
      	* function-tests.c: New file.
      	* gimple.c: Include "selftest.h".
      	Include "gimple-pretty-print.h".
      	(selftest::verify_gimple_pp): New function.
      	(selftest::test_assign_single): New function.
      	(selftest::test_assign_binop): New function.
      	(selftest::test_nop_stmt): New function.
      	(selftest::test_return_stmt): New function.
      	(selftest::test_return_without_value): New function.
      	(selftest::gimple_c_tests): New function.
      	* hash-map-tests.c: New file.
      	* hash-set-tests.c: New file.
      	* input.c: Include "selftest.h".
      	(selftest::assert_loceq): New function.
      	(selftest::test_accessing_ordinary_linemaps): New function.
      	(selftest::test_unknown_location): New function.
      	(selftest::test_builtins): New function.
      	(selftest::test_reading_source_line): New function.
      	(selftest::input_c_tests): New function.
      	* rtl-tests.c: New file.
      	* selftest-run-tests.c: New file.
      	* selftest.c: New file.
      	* selftest.h: New file.
      	* spellcheck.c: Include "selftest.h".
      	(selftest::levenshtein_distance_unit_test_oneway): New function,
      	adapted from testsuite/gcc.dg/plugin/levenshtein_plugin.c.
      	(selftest::levenshtein_distance_unit_test): Likewise.
      	(selftest::spellcheck_c_tests): Likewise.
      	* toplev.c: Include selftest.h.
      	(toplev::run_self_tests): New.
      	(toplev::main): Handle -fself-test.
      	* toplev.h (toplev::run_self_tests): New.
      	* tree.c: Include "selftest.h".
      	(selftest::test_integer_constants): New function.
      	(selftest::test_identifiers): New function.
      	(selftest::test_labels): New function.
      	(selftest::tree_c_tests): New function.
      	* tree-cfg.c: Include "selftest.h".
      	(selftest::push_fndecl): New function.
      	(selftest::test_linear_chain): New function.
      	(selftest::test_diamond): New function.
      	(selftest::test_fully_connected): New function.
      	(selftest::tree_cfg_c_tests): New function.
      	* vec.c: Include "selftest.h".
      	(selftest::safe_push_range): New function.
      	(selftest::test_quick_push): New function.
      	(selftest::test_safe_push): New function.
      	(selftest::test_truncate): New function.
      	(selftest::test_safe_grow_cleared): New function.
      	(selftest::test_pop): New function.
      	(selftest::test_safe_insert): New function.
      	(selftest::test_ordered_remove): New function.
      	(selftest::test_unordered_remove): New function.
      	(selftest::test_block_remove): New function.
      	(selftest::reverse_cmp): New function.
      	(selftest::test_qsort): New function.
      	(selftest::vec_c_tests): New function.c.
      	* wide-int.cc: Include selftest.h and wide-int-print.h.
      	(selftest::from_int <wide_int>): New function.
      	(selftest::from_int <offset_int>): New function.
      	(selftest::from_int <widest_int>): New function.
      	(selftest::assert_deceq): New function.
      	(selftest::assert_hexeq): New function.
      	(selftest::test_printing <VALUE_TYPE>): New function template.
      	(selftest::test_ops <VALUE_TYPE>): New function template.
      	(selftest::test_comparisons <VALUE_TYPE>): New function template.
      	(selftest::run_all_wide_int_tests <VALUE_TYPE>): New function
      	template.
      	(selftest::wide_int_cc_tests): New function.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/plugin/levenshtein-test-1.c: Delete.
      	* gcc.dg/plugin/levenshtein_plugin.c: Delete.
      	* gcc.dg/plugin/plugin.exp (plugin_test_list): Remove the
      	above.
      
      From-SVN: r237144
      David Malcolm committed
    • Support allocators in tuples of zero size. · dbc6221f
      	* include/std/tuple (tuple<>::tuple(),
      	tuple<>::tuple(allocator_arg_t, const _Alloc&),
      	tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
      	* testsuite/20_util/tuple/cons/allocators.cc: Adjust.
      
      From-SVN: r237143
      Ville Voutilainen committed