1. 20 Nov, 2015 21 commits
    • [multiple changes] · cded7919
      2015-11-20  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/68237
      	* decl.c (gfc_match_submod_proc): Test the interface symbol
      	before accessing its attributes.
      
      2015-11-20  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/66762
      	(gfc_get_symbol_decl): Test for attr.used_in_submodule as well
      	as attr.use_assoc (twice).
      	(gfc_create_module_variable): Ditto.
      
      2015-11-20  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/68237
      	* gfortran.dg/submodule_12.f90: New test
      
      	PR fortran/66762
      	* gfortran.dg/submodule_6.f90: Add compile option -flto.
      
      From-SVN: r230661
      Paul Thomas committed
    • Sync top level configure with binutils-gdb. · 3be96231
      2015-11-20  Tristan Gingold  <gingold@adacore.com>
      
      	* configure.ac: Add aarch64-*-darwin* and arm-*-darwin*.
      	* configure: Regenerate.
      
      From-SVN: r230660
      Tristan Gingold committed
    • nvptx.c (nvptx_use_anchors_for_symbol_p): New. · a794bd20
      	* config/nvptx/nvptx.c (nvptx_use_anchors_for_symbol_p): New.
      	(TARGET_USE_ANCHORS_FOR_SYMBOL_P): Override.
      
      Co-Authored-By: James Norris <jnorris@codesourcery.com>
      
      From-SVN: r230659
      Nathan Sidwell committed
    • re PR tree-optimization/68413 (internal compiler error: in vect_transform_stmt) · b09d9347
      2015-11-20  Alan Hayward <alan.hayward@arm.com>
      	
      	PR tree-optimization/68413
      	* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Cache
      	evolution base
      	(vectorizable_reduction): Use cached base
      
      From-SVN: r230658
      Alan Hayward committed
    • Fix typo and trailing whitespace in dump-file strings in parloops · 430002b9
      2015-11-20  Tom de Vries  <tom@codesourcery.com>
      
      	* tree-parloops.c (build_new_reduction): Fix trailing whitespace in
      	dump-file string.
      	(try_create_reduction_list): Same.  Fix typo in dump-file string.
      
      From-SVN: r230655
      Tom de Vries committed
    • clang-format: split content of a list to multiple lines · e06b54c2
      	* clang-format: Split content of a list to multiple
      	lines.
      
      From-SVN: r230654
      Martin Liska committed
    • [ARM] Disable neon testing for armv7-m · 4bec4b1c
      2015-11-20  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      
      	* lib/target-supports.exp
      	(check_effective_target_arm_neon_ok_nocache): Add check
      	for M profile.
      
      From-SVN: r230653
      Andre Vieira committed
    • md.texi (Standard Names): Move entry for addptr3 around... · 481efdd9
      	* doc/md.texi (Standard Names): Move entry for addptr3 around,
      	add entries for addv4, subv4, mulv4, umulv4 and negv3, fixes
      	glitch in entries for cbranch4 and jump.
      
      From-SVN: r230651
      Eric Botcazou committed
    • Do final value replacement in try_create_reduction_list · f993a853
      2015-11-20  Tom de Vries  <tom@codesourcery.com>
      
      	PR tree-optimization/68373
      	* tree-scalar-evolution.c (final_value_replacement_loop): Factor out of ...
      	(scev_const_prop): ... here.
      	* tree-scalar-evolution.h (final_value_replacement_loop): Declare.
      	* tree-parloops.c (try_create_reduction_list): Call
      	final_value_replacement_loop.
      
      	* gcc.dg/autopar/pr68373.c: New test.
      
      From-SVN: r230650
      Tom de Vries committed
    • ChangeLog: Fix whitespace. · 5b5e7b18
      	* ChangeLog: Fix whitespace.
      	* testsuite/ChangeLog: Ditto.
      
      From-SVN: r230649
      Uros Bizjak committed
    • Fix up misplaced ChangeLog entry. · 5e18a5b5
      From-SVN: r230648
      Jakub Jelinek committed
    • re PR tree-optimization/52272 (Performance regression of 410.bwaves on x86.) · cf5b92ef
      
      	PR tree-optimization/52272
      	* tree-ssa-loop-ivopts.c (struct iv_common_cand): New struct.
      	(struct iv_common_cand_hasher): New struct.
      	(iv_common_cand_hasher::hash): New function.
      	(iv_common_cand_hasher::equal): New function.
      	(struct ivopts_data): New fields, iv_common_cand_tab and
      	iv_common_cands.
      	(tree_ssa_iv_optimize_init): Initialize above fields.
      	(record_common_cand, common_cand_cmp): New functions.
      	(add_iv_candidate_derived_from_uses): New function.
      	(add_iv_candidate_for_use): Record iv_common_cands derived from
      	iv use in hash table, instead of adding candidates directly.
      	(add_iv_candidate_for_uses): Call add_iv_candidate_derived_from_uses.
      	(record_important_candidates): Add important candidates to iv uses'
      	related_cands.  Always keep related_cands for future use.
      	(try_add_cand_for): Use iv uses' related_cands.
      	(free_loop_data, tree_ssa_iv_optimize_finalize): Release new fields
      	in struct ivopts_data, iv_common_cand_tab and iv_common_cands.
      
      From-SVN: r230647
      Bin Cheng committed
    • re PR c++/67354 (internal compiler error: in add_to_same_comdat_group, at symtab.c:421) · ec5a0fe0
      	PR c++/67354
      	* cp-tree.h (defer_mangling_aliases): Declare.
      	(generate_mangling_aliases): New prototype.
      	* decl2.c (defer_mangling_aliases): New variable.
      	(note_mangling_alias): Use !defer_mangling_aliases
      	instead of at_eof.
      	(generate_mangling_aliases): No longer static. Clear
      	defer_mangling_aliases.
      	* optimize.c (maybe_thunk_body): Defer emitting mangling aliases
      	if !defer_mangling_aliases until the fns are put into the same
      	comdat group.
      
      	* g++.dg/abi/mangle67.C: New test.
      
      From-SVN: r230646
      Jakub Jelinek committed
    • S/390: Add bswaphi2 pattern · 511f5bb1
      gcc/testsuite/ChangeLog:
      	* gcc.target/s390/bswap-1.c: New test.
      
      gcc/ChangeLog:
      	* config/s390/s390.md ("bswaphi2"): New pattern.
      
      From-SVN: r230643
      Andreas Krebbel committed
    • S/390: Clobber r1 in patterns resulting in pfpo instruction. · af344a30
      gcc/ChangeLog
      
      	* config/s390/s390.md (GPR1_REGNUM): New constant.
      	("*trunc<BFP:mode><DFP_ALL:mode>2")
      	("*trunc<DFP_ALL:mode><BFP:mode>2")
      	("trunc<BFP:mode><DFP_ALL:mode>2")
      	("trunc<DFP_ALL:mode><BFP:mode>2")
      	("*extend<BFP:mode><DFP_ALL:mode>2")
      	("*extend<DFP_ALL:mode><BFP:mode>2")
      	("extend<BFP:mode><DFP_ALL:mode>2")
      	("extend<DFP_ALL:mode><BFP:mode>2"): Clobber r1.
      
      gcc/testsuite/ChangeLog
      
      	* gcc.target/s390/pfpo.c: New test.
      
      From-SVN: r230642
      Dominik Vogt committed
    • re PR c++/68158 (Function attributes parsed incorrectly in C++ (while -fcilkplus)) · cf0347ae
      gcc/testsuite/
      	* c-c++-common/attr-simd-3.c: Put xfail (PR68158) on dg-error.
      	* c-c++-common/attr-simd.c: Limit scan of dump to x86_64/i?86.
      
      From-SVN: r230641
      Kirill Yukhin committed
    • C++ FE: offer suggestions for misspelled field names · 8ece8dfb
      gcc/c/ChangeLog:
      	* c-typeck.c (lookup_field_fuzzy): Move determination of closest
      	candidate into a new function, find_closest_identifier.
      
      gcc/cp/ChangeLog:
      	* cp-tree.h (lookup_member_fuzzy): New decl.
      	* search.c: Include spellcheck.h.
      	(class lookup_field_fuzzy_info): New class.
      	(lookup_field_fuzzy_info::fuzzy_lookup_fnfields): New.
      	(lookup_field_fuzzy_info::fuzzy_lookup_field): New.
      	(lookup_field_fuzzy_r): New.
      	(lookup_member_fuzzy): New.
      	* typeck.c (finish_class_member_access_expr): When issuing
      	a "has no member named" error, call lookup_member_fuzzy, and
      	offer any result as a suggestion.
      
      gcc/ChangeLog:
      	* spellcheck-tree.c (find_closest_identifier): New function, taken
      	from c/c-typeck.c:lookup_field_fuzzy, with NULL corrected to
      	NULL_TREE in two places.
      	* spellcheck.h (find_closest_identifier): New decl.
      
      gcc/testsuite/ChangeLog:
      	* g++.dg/spellcheck-fields.C: New file.
      
      From-SVN: r230638
      David Malcolm committed
    • Daily bump. · 32c912aa
      From-SVN: r230637
      GCC Administrator committed
    • Support __cxa_free_exception and fix exception handling. · 258c1d07
      	gcc/cp/
      	* except.c (do_free_exception): Use transactional wrapper.
      
      	libitm/
      	* testsuite/libitm.c++/eh-5.C: New.
      	* libitm.h (_ITM_cxa_free_exception): New.
      	* libitm.map (_ITM_cxa_free_exception): Add it.
      	* libitm.texi: Update ABI docs.
      	* libitm_i.h (gtm_transaction_cp::cxa_unthrown): Remove.
      	(gtm_transaction_cp::cxa_uncaught_count): Add.
      	(gtm_thread::cxa_unthrown): Remove.
      	(gtm_thread::cxa_uncaught_count_ptr): Add.
      	(gtm_thread::cxa_uncaught_count): Add.
      	(gtm_thread::drop_references_allocations): Rename to...
      	(gtm_thread::discard_allocation): ... this and adapt.
      	(gtm_thread::init_cpp_exceptions): New.
      	* beginend.cc (gtm_thread::gtm_thread): Adapt EH handling.
      	(gtm_thread::begin_transaction): Likewise.
      	(gtm_transaction_cp::save): Likewise.
      	(gtm_thread::trycommit): Likewise.
      	* eh_cpp.cc: Add overview comments.
      	(__cxa_eh_globals, __cxa_get_globals, __cxa_free_exception): Declare.
      	(free_any_exception, _ITM_cxa_free_exception): New.
      	(gtm_thread::init_cpp_exceptions): Define.
      	(_ITM_cxa_allocate_exception, _ITM_cxa_throw): Adapt.
      	(_ITM_cxa_begin_catch, _ITM_cxa_end_catch): Likewise.
      	(gtm_thread::revert_cpp_exceptions): Likewise.
      
      From-SVN: r230634
      Torvald Riegel committed
    • * config/msp430/lib2hw_mul.S: Fix alignment. · 9afebea2
      From-SVN: r230633
      DJ Delorie committed
  2. 19 Nov, 2015 19 commits
    • fix PR68428: ignore bb dominated by the scop->exit · a378e922
      Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
      
      From-SVN: r230632
      Aditya Kumar committed
    • fix PR68341: correctly compute the insertion point for close phi nodes · 2927ca4b
      Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
      
      From-SVN: r230631
      Aditya Kumar committed
    • add testcase for PR68335 · deca2146
      Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
      
      From-SVN: r230630
      Aditya Kumar committed
    • re PR c++/68422 (compile-time cost of sizeof... is quadratic) · e3f8abd6
      	PR c++/68422
      
      	* cp-tree.h (PACK_EXPANSION_SIZEOF_P): New.
      	* parser.c (cp_parser_sizeof_pack): Set it.
      	* pt.c 	(tsubst_copy) [SIZEOF_EXPR]: Likewise.
      	(tsubst_pack_expansion): Improve T... shortcut for expression packs.
      
      From-SVN: r230629
      Jason Merrill committed
    • nvptx.h (SUPPORTS_WEAK): Define. · 0766660b
      	gcc/
      	* config/nvptx/nvptx.h (SUPPORTS_WEAK): Define.
      	* config/nvptx/nvptx.c (nvptx_write_function_decl): Support
      	DECL_WEAK.
      	(nvptx_declare_objec_name): Likewise.
      
      	gcc/testsuite/
      	* lib/target-supports.exp (check_weak_available): Add nvptx-*-*.
      	* gcc.dg/attr-weakref-1.c: Skip for nvptx-*-*
      	* gcc.dg/special/weak-2.c: Likewise.
      	* gcc.dg/weak/weak-12.c: Likewise.
      	* gcc.dg/weak/weak-15.c: Likewise.
      	* gcc.dg/weak/weak-16.c: Likewise.
      	* gcc.dg/weak/weak-1.c: Likewise.
      	* gcc.dg/weak/weak-2.c: Likewise.
      	* gcc.dg/weak/weak-4.c: Likewise.
      	* gcc.dg/torture/pr53922.c: Likewise.
      	* gcc.dg/torture/pr60092.c: Likewise.
      
      From-SVN: r230628
      Nathan Sidwell committed
    • re PR c/68412 (ICE with -Wall -Wextra in fold_binary_loc()) · 433068cc
      	PR c/68412
      	* c-typeck.c (parser_build_binary_op): Properly handle
      	C_MAYBE_CONST_EXPR before calling warn_tautological_cmp.
      
      	* gcc.dg/pr68412-2.c: New test.
      	* gcc.dg/pr68412.c: New test.
      
      From-SVN: r230627
      Marek Polacek committed
    • fix bootstrap without ISL on old linkers · 09b574dd
      With and without this patch passes bootstrap on x86_64-linux with and without ISL.
      The problem occurs on systems with older linkers that do not remove dead symbols.
      
      From-SVN: r230625
      Aditya Kumar committed
    • reduction-dbl.c: New. · 2d256816
      	* libgomp.oacc-c-c++-common/reduction-dbl.c: New.
      	* libgomp.oacc-c-c++-common/reduction-flt.c: New.
      	* libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
      	* libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
      	* libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
      	and fix.
      	* libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
      	* libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
      
      From-SVN: r230621
      Nathan Sidwell committed
    • re PR c++/68396 (function auto-deduced return types get incorrectly classified as parameter packs) · 0398c183
      	PR c++/68396
      
      2015-11-19  Ryan Burn  <contact@rnburn.com>
      
      	* pt.c (find_parameter_packs_r) [DECLTYPE_TYPE]: When traversing
      	the DECLTYPE_TYPE_EXPR, set type_pack_expansion_p to false.
      
      From-SVN: r230620
      Ryan Burn committed
    • revert: rs6000.c (use_toc_relative_ref): Ignore type-limits warning. · 498cb3c3
      2015-11-19  David Edelsohn  <dje.gcc@gmail.com>
      
              Revert
      	2015-11-18  Alan Modra  <amodra@gmail.com>
      
      	* config/rs6000/rs6000.c (use_toc_relative_ref): Ignore
      	type-limits warning.
      
      From-SVN: r230619
      David Edelsohn committed
    • [Patch, vrp] Allow VRP type conversion folding only for widenings upto word mode · 1014b6f5
      	* tree.h (desired_pro_or_demotion_p): New function.
      	* tree-vrp.c (simplify_cond_using_ranges): Call it.
      
      	* gcc.dg/tree-ssa/vrp98.c: New testcase.
      	* gcc.target/avr/uint8-single-reg.c: New testcase.
      
      From-SVN: r230618
      Senthil Kumar Selvaraj committed
    • sem_elab.adb (Check_Internal_Call_Continue): Correction to previous change... · 04a9bb6e
      2015-11-19  Bob Duff  <duff@adacore.com>
              
      	* sem_elab.adb (Check_Internal_Call_Continue): Correction to previous
      	change: correctly handle generic formals/actuals that look like
      	renamings.
      
      From-SVN: r230617
      Bob Duff committed
    • libgomp-plugin-intelmic.cpp (struct TargetImageDesc): New. · 4219ddb3
      liboffloadmic/
      	* plugin/libgomp-plugin-intelmic.cpp (struct TargetImageDesc): New.
      	(ImgDescMap): New typedef.
      	(image_descriptors): New static var.
      	(init): Allocate image_descriptors.
      	(offload): Remove vars2 argument.  Pass NULL to __offload_offload1
      	instead of vars2.
      	(unregister_main_image): New static function.
      	(register_main_image): Call unregister_main_image at exit.
      	(GOMP_OFFLOAD_init_device): Print device number, fix offload args.
      	(GOMP_OFFLOAD_fini_device): Likewise.
      	(get_target_table): Remove vd1g and vd2g, don't pass them to offload.
      	(offload_image): Remove declaration of the struct TargetImage.
      	Free table.  Insert new descriptor into image_descriptors.
      	(GOMP_OFFLOAD_unload_image): Call __offload_unregister_image, free
      	the corresponding descriptor, and remove it from address_table and
      	image_descriptors.
      	(GOMP_OFFLOAD_alloc): Print device number, remove vd1g.
      	(GOMP_OFFLOAD_free): Likewise.
      	(GOMP_OFFLOAD_host2dev): Print device number, remove vd1g and vd2g.
      	(GOMP_OFFLOAD_dev2host): Likewise.
      	(GOMP_OFFLOAD_run): Print device number, remove vd1g.
      	* plugin/offload_target_main.cpp (__offload_target_table_p1): Remove
      	vd2, don't pass it to __offload_target_enter.
      	(__offload_target_table_p2): Likewise.
      	(__offload_target_alloc): Likewise.
      	(__offload_target_free): Likewise.
      	(__offload_target_host2tgt_p1): Likewise.
      	(__offload_target_host2tgt_p2): Likewise.
      	(__offload_target_tgt2host_p1): Likewise.
      	(__offload_target_tgt2host_p2): Likewise.
      	(__offload_target_run): Likewise.
      	(__offload_target_tgt2tgt): Remove vd1g, don't pass it to
      	__offload_target_enter.
      
      From-SVN: r230614
      Ilya Verbin committed
    • re PR c++/67409 (tree-cfg.c dereferences a NULL pointer) · 2c443701
      	PR c++/67409
      	* decl.c (identify_goto): Add LOC and DIAG_KIND arguments, call
      	emit_diagnostic instead of permerror.
      	(check_previous_goto_1): Adjust identify_goto callers, treat all
      	cases but crossing initialization and entering scope of decl with
      	non-trivial dtor as unconditional hard errors.
      	(check_goto): Use identify_goto.  Treat all cases but crossing
      	initialization and entering scope of decl with non-trivial dtor
      	as unconditional hard errors.
      
      	* g++.dg/eh/goto3.C: New test.
      
      Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
      
      From-SVN: r230613
      Jakub Jelinek committed
    • fwprop.c (update_uses): Use flag_checking instead of gcc_checking_assert. · 1e1ce42e
      	* fwprop.c (update_uses): Use flag_checking instead of
      	gcc_checking_assert.
      
      From-SVN: r230612
      Michael Matz committed
    • Fix typo in doc/gty.texi · 381846b1
      gcc/ChangeLog:
      	* doc/gty.texi (Support for inheritance): Fix missing
      	parentheses in example.
      
      From-SVN: r230609
      David Malcolm committed
    • re PR tree-optimization/68431 (Regression in GCC-6.0.0's optimizer) · 41bfbbb6
      	PR tree-optimization/68431
      	* tree-vrp.c (extract_range_from_binary_expr_1): Fix condition.
      
      	* gcc.dg/tree-ssa/pr68431.c: New test.
      
      From-SVN: r230608
      Marek Polacek committed
    • parser.h (struct cp_omp_declare_simd_data): Add clauses member. · 8504d5dd
      	gcc/cp/
      	* parser.h (struct cp_omp_declare_simd_data): Add clauses member.
      	(struct cp_parser): Change type the of oacc_routine to
      	cp_omp_declare_simd_data.
      	* parser.c (cp_ensure_no_oacc_routine): Rework to use
      	cp_omp_declare_simd_data.
      	(cp_parser_simple_declaration): Remove boolean first.  Update call to
      	cp_parser_init_declarator. Don't NULL out oacc_routine.
      	(cp_parser_init_declarator): Remove boolean first parameter.  Update
      	calls to cp_finalize_oacc_routine.
      	(cp_parser_late_return_type_opt): Handle acc routines. 
      	(cp_parser_member_declaration): Remove first variable.  Handle
      	acc routines like omp declare simd.
      	(cp_parser_function_definition_from_specifiers_and_declarator): Update
      	call to cp_finalize_oacc_routine.
      	(cp_parser_single_declaration): Update call to
      	cp_parser_init_declarator.
      	(cp_parser_save_member_function_body): Remove first_decl parameter.
      	Update call to cp_finalize_oacc_routine.
      	(cp_parser_finish_oacc_routine): Delete.
      	(cp_parser_oacc_routine): Rework to use cp_omp_declare_simd_data.
      	(cp_parser_late_parsing_oacc_routine): New function.
      	(cp_finalize_oacc_routine): Remove first argument.  Add more error
      	handling and set the acc routine and 'omp declare target' attributes.
      	(cp_parser_pragma): Remove unnecessary call to
      	cp_ensure_no_oacc_routine.
      
      From-SVN: r230607
      Cesar Philippidis committed
    • nvptx.md (atomic_compare_and_swap<mode>_1, [...]): Input values can be immediates. · 6c164570
      	* config/nvptx/nvptx.md (atomic_compare_and_swap<mode>_1,
      	atomic_exchange<mode>): Input values can be immediates.
      
      From-SVN: r230606
      Nathan Sidwell committed