1. 11 Jul, 2016 12 commits
    • lib1funcs.S: Add new wrapper. · 82742404
      2016-07-11  Hale Wang  <hale.wang@arm.com>
      	    Andre Vieira  <andre.simoesdiasvieira@arm.com>
      
      	* config/arm/lib1funcs.S: Add new wrapper.
      
      Co-Authored-By: Andre Vieira <andre.simoesdiasvieira@arm.com>
      
      From-SVN: r238215
      Hale Wang committed
    • * decl.c (store_parm_decls): Remove check for void parm. · 9a54f10d
      From-SVN: r238214
      Jason Merrill committed
    • input.c: add lexing selftests and a test matrix for line_table states · 741d3be5
      This patch adds explicit testing of lexing a source file,
      generalizing this (and the test of ordinary line maps) over
      a 2-dimensional test matrix covering:
      
        (1) line_table->default_range_bits: some frontends use a non-zero value
        and others use zero
      
        (2) the fallback modes within line-map.c: there are various threshold
        values for source_location/location_t beyond line-map.c changes
        behavior (disabling of the range-packing optimization, disabling
        of column-tracking).  We exercise these by starting the line_table
        at interesting values at or near these thresholds.
      
      This helps ensures that location data works in all of these states,
      and that (I hope) we don't have lingering bugs relating to the
      transition between line_table states.
      
      gcc/ChangeLog:
      	* input.c: Include cpplib.h.
      	(selftest::temp_source_file): New class.
      	(selftest::temp_source_file::temp_source_file): New ctor.
      	(selftest::temp_source_file::~temp_source_file): New dtor.
      	(selftest::should_have_column_data_p): New function.
      	(selftest::test_should_have_column_data_p): New function.
      	(selftest::temp_line_table): New class.
      	(selftest::temp_line_table::temp_line_table): New ctor.
      	(selftest::temp_line_table::~temp_line_table): New dtor.
      	(selftest::test_accessing_ordinary_linemaps): Add case_ param; use
      	it to create a temp_line_table.
      	(selftest::assert_loceq): Only verify LOCATION_COLUMN for
      	locations that are known to have column data.
      	(selftest::line_table_case): New struct.
      	(selftest::test_reading_source_line): Move tempfile handling
      	to class temp_source_file.
      	(ASSERT_TOKEN_AS_TEXT_EQ): New macro.
      	(selftest::assert_token_loc_eq): New function.
      	(ASSERT_TOKEN_LOC_EQ): New macro.
      	(selftest::test_lexer): New function.
      	(selftest::boundary_locations): New array.
      	(selftest::input_c_tests): Call test_should_have_column_data_p.
      	Loop over a test matrix of interesting values of location and
      	default_range_bits, calling test_lexer on each case in the matrix.
      	Move call to test_accessing_ordinary_linemaps into the matrix.
      	* selftest.h (ASSERT_EQ): Reimplement in terms of...
      	(ASSERT_EQ_AT): New macro.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/plugin/location_overflow_plugin.c (plugin_init): Avoid
      	hardcoding the values of LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES
      	and LINE_MAP_MAX_LOCATION_WITH_COLS.
      
      libcpp/ChangeLog:
      	* include/line-map.h (LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES):
      	Move here from line-map.c.
      	(LINE_MAP_MAX_LOCATION_WITH_COLS): Likewise.
      	* line-map.c (LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES): Move from
      	here to line-map.h.
      	(LINE_MAP_MAX_LOCATION_WITH_COLS): Likewise.
      
      From-SVN: r238213
      David Malcolm committed
    • Don't convert TImode in debug insn · 92fa45b5
      When converting V1TImode register in debug insn, check if it has been
      converted to TImode already.
      
      gcc/
      
      	PR target/71801
      	* config/i386/i386.c (timode_scalar_chain::fix_debug_reg_uses):
      	Don't convert TImode in debug insn.
      
      gcc/testsuite/
      
      	PR target/71801
      	* gcc.target/i386/pr71801.c: New test.
      
      From-SVN: r238211
      H.J. Lu committed
    • Convert TYPE_ALIGN_OK to a TYPE_LANG_FLAG. · 25b75a48
      2016-07-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              Convert TYPE_ALIGN_OK to a TYPE_LANG_FLAG.
              * tree-core.h (tree_base::nothrow_flag): Adjust comment.
              (tree_type_common::lang_flag_7): New.
              (tree_type_common::spare): Reduce size.
              * tree.h (TYPE_ALIGN_OK): Remove.
              (TYPE_LANG_FLAG_7): New.
              (get_inner_reference): Adjust header.
              * print-tree.c (print_node): Adjust.
              * expr.c (get_inner_reference): Remove parameter keep_aligning.
              (get_bit_range, expand_assignment, expand_expr_addr_expr_1): Adjust
              calls to get_inner_reference.
              (expand_expr_real_1): Adjust call to get_inner_reference.  Remove
              handling of TYPE_ALIGN_OK.
              * builtins.c (get_object_alignment_2): Adjust call to
              get_inner_reference.  Remove handling of VIEW_CONVERT_EXPR.
              * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove handling of
              TYPE_ALIGN_OK.
              * asan.c (instrument_derefs): Adjust calls to get_inner_reference.
              * cfgexpand.c (expand_debug_expr): Likewise.
              * dbxout.c (dbxout_expand_expr): Likewise.
              * dwarf2out.c (loc_list_for_address_of_addr_expr_of_indirect_ref,
              loc_list_from_tree, fortran_common): Likewise.
              * fold-const.c (optimize_bit_field_compare,
              decode_field_reference, fold_unary_loc, fold_comparison,
              split_address_to_core_and_offset): Likewise.
              * gimple-laddress.c (execute): Likewise.
              * gimple-ssa-strength-reduction.c (slsr_process_ref): Likewise.
              * gimplify.c (gimplify_scan_omp_clauses): Likewise.
              * hsa-gen.c (gen_hsa_addr): Likewise.
              * simplifx-rtx.c (delegitimize_mem_from_attrs): Likewise.
              * tsan.c (instrument_expr): Likewise.
              * ubsan.c (instrument_bool_enum_load, instrument_object_size): Likewise.
              * tree.c (verify_type_variant): Remove handling of TYPE_ALIGN_OK.
              * tree-affine.c (tree_to_aff_combination,
              get_inner_reference_aff): Adjust calls to get_inner_reference.
              * tree-data-ref.c (split_constant_offset_1,
              dr_analyze_innermost): Likewise.
              * tree-scalar-evolution.c (interpret_rhs_expr): Likewise.
              * tree-sra.c (ipa_sra_check_caller): Likewise.
              * tree-ssa-loop-ivopts.c (split_address_cost): Likewise.
              * tree-ssa-math-opts.c (find_bswap_or_nop_load,
              bswap_replace): Likewise.
              * tree-vect-data-refs.c (vect_check_gather,
              vect_analyze_data_refs): Likewise.
              * config/mips/mips.c (r10k_safe_mem_expr_p): Likewise.
              * config/pa/pa.c (pa_emit_move_sequence): Remove handling of
              TYPE_ALIGN_OK.
      
      ada:
      2016-07-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              Convert TYPE_ALIGN_OK to a TYPE_LANG_FLAG.
              * gcc-interface/ada-tree.h (TYPE_ALIGN_OK): Define.
              * gcc-interface/trans.c (Attribute_to_gnu): Adjust call to
              get_inner_reference.
              * gcc-interface/utils2.c (build_unary_op): Likewise.
      
      From-SVN: r238210
      Bernd Edlinger committed
    • Support running the selftests under valgrind · 9e34db2e
      gcc/ChangeLog:
      	* Makefile.in (selftest-valgrind): New phony target.
      	* function-tests.c (selftest::build_cfg): Delete pass instances
      	created by the test.
      	(selftest::convert_to_ssa): Likewise.
      	(selftest::test_expansion_to_rtl): Likewise.
      	* tree-cfg.c (selftest::test_linear_chain): Release dominator
      	vectors.
      	(selftest::test_diamond): Likewise.
      
      From-SVN: r238209
      David Malcolm committed
    • re PR bootstrap/71816 (bootstrap broken on multiple targets) · f51606c7
      2016-07-11  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/71816
      	* tree-ssa-pre.c (compute_avail): Adjust alignment of ref rather
      	than replacing all of its operands.
      
      	* gcc.dg/torture/pr71816.c: New testcase.
      
      From-SVN: r238208
      Richard Biener committed
    • [RS6000] Don't allow combine to form doloop pattern · a442a050
      	* config/rs6000/rs6000.md (UNSPEC_DOLOOP): New unspec.
      	(ctr<mode>): Add unspec.
      	(ctr<mode>_internal*): Likewise.
      
      From-SVN: r238207
      Alan Modra committed
    • trans.c (add_decl_expr): Minor tweak. · 7352723b
      	* gcc-interface/trans.c (add_decl_expr): Minor tweak.
      	* gcc-interface/utils.c (create_var_decl): For an external variable,
      	also clear TREE_READONLY in LTO mode if the initializer is not a valid
      	constant and set DECL_READONLY_ONCE_ELAB instead.
      
      From-SVN: r238206
      Eric Botcazou committed
    • re PR ada/71817 (suspicious condition in C code) · 833c1dbc
      	PR ada/71817
      	* adaint.c (__gnat_is_read_accessible_file): Add parentheses.
      	(__gnat_is_write_accessible_file): Likewise.
      
      From-SVN: r238204
      Eric Botcazou committed
    • remove gcc/cp/typeck.s · 4adc6a12
      From-SVN: r238203
      Jason Merrill committed
    • Daily bump. · 98e788e6
      From-SVN: r238202
      GCC Administrator committed
  2. 10 Jul, 2016 2 commits
    • Implement std::optional. · 435e56fb
      	* include/Makefile.am: Add optional to exported headers.
      	* include/Makefile.in: Likewise.
      	* include/std/optional: New.
      	* testsuite/20_util/optional/typedefs.cc: Likewise.
      	* testsuite/20_util/optional/relops/2.cc: Likewise.
      	* testsuite/20_util/optional/relops/3.cc: Likewise.
      	* testsuite/20_util/optional/relops/4.cc: Likewise.
      	* testsuite/20_util/optional/relops/5.cc: Likewise.
      	* testsuite/20_util/optional/relops/1.cc: Likewise.
      	* testsuite/20_util/optional/relops/6.cc: Likewise.
      	* testsuite/20_util/optional/nullopt.cc: Likewise.
      	* testsuite/20_util/optional/in_place.cc: Likewise.
      	* testsuite/20_util/optional/make_optional.cc: Likewise.
      	* testsuite/20_util/optional/assignment/2.cc: Likewise.
      	* testsuite/20_util/optional/assignment/3.cc: Likewise.
      	* testsuite/20_util/optional/assignment/4.cc: Likewise.
      	* testsuite/20_util/optional/assignment/5.cc: Likewise.
      	* testsuite/20_util/optional/assignment/1.cc: Likewise.
      	* testsuite/20_util/optional/assignment/6.cc: Likewise.
      	* testsuite/20_util/optional/cons/value_neg.cc: Likewise.
      	* testsuite/20_util/optional/cons/default.cc: Likewise.
      	* testsuite/20_util/optional/cons/move.cc: Likewise.
      	* testsuite/20_util/optional/cons/value.cc: Likewise.
      	* testsuite/20_util/optional/cons/copy.cc: Likewise.
      	* testsuite/20_util/optional/requirements.cc: Likewise.
      	* testsuite/20_util/optional/observers/2.cc: Likewise.
      	* testsuite/20_util/optional/observers/3.cc: Likewise.
      	* testsuite/20_util/optional/observers/4.cc: Likewise.
      	* testsuite/20_util/optional/observers/5.cc: Likewise.
      	* testsuite/20_util/optional/observers/1.cc: Likewise.
      	* testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
      	* testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
      	* testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
      	* testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
      	* testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
      	* testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
      	* testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
      	* testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
      	* testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
      	* testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
      	* testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
      	* testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
      	* testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
      	* testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
      	* testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
      	* testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
      	* testsuite/20_util/optional/swap/1.cc: Likewise.
      
      From-SVN: r238197
      Ville Voutilainen committed
    • Daily bump. · 29058356
      From-SVN: r238196
      GCC Administrator committed
  3. 09 Jul, 2016 2 commits
  4. 08 Jul, 2016 20 commits
  5. 07 Jul, 2016 4 commits
    • re PR c++/70869 (internal compiler error: Segmentation fault on array of pointer… · 842dc2e6
      re PR c++/70869 (internal compiler error: Segmentation fault on array of pointer to function members)
      
      	PR c++/70869
      	PR c++/71054
      	* cp-gimplify.c (cp_genericize_r): For DECL_EXPR for non-static
      	artificial vars, genericize their initializers.
      
      	* g++.dg/cpp0x/pr70869.C: New test.
      	* g++.dg/cpp0x/pr71054.C: New test.
      
      Co-Authored-By: Kai Tietz <ktietz70@googlemail.com>
      
      From-SVN: r238124
      Jakub Jelinek committed
    • * g++.dg/debug/pr71432.C: Fail on AIX. · 31be4262
      From-SVN: r238122
      David Edelsohn committed
    • Update libstdc++ status docs · 9fc0faf0
      	* doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
      	* doc/html/*: Regenerate.
      
      From-SVN: r238120
      Jonathan Wakely committed
    • [multiple changes] · 86ec3bfb
      2016-07-07  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch6.adb (Expand_Internal_Init_Call): Subsidiary procedure
      	to Expand_Protected_ Subprogram_Call, to handle properly a
      	call to a protected function that provides the initialization
      	expression for a private component of the same protected type.
      	* sem_ch9.adb (Analyze_Protected_Definition): Layout must be
      	applied to itypes generated for a private operation of a protected
      	type that has a formal of an anonymous access to subprogram,
      	because these itypes have no freeze nodes and are frozen in place.
      	* sem_ch4.adb (Analyze_Selected_Component): If prefix is a
      	protected type and it is not a current instance, do not examine
      	the first private component of the type.
      
      2016-07-07  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_imgv.adb, g-dynhta.adb, s-regexp.adb, s-fatgen.adb, s-poosiz.adb:
      	Minor removal of extra whitespace.
      	* einfo.ads: minor removal of repeated "as" in comment
      
      2016-07-07  Vadim Godunko  <godunko@adacore.com>
      
      	* adaint.c: Complete previous change.
      
      From-SVN: r238117
      Arnaud Charlet committed